From e222a00022f4582aa1c7017aa474d7f7afb60355 Mon Sep 17 00:00:00 2001 From: zhengkunwang223 Date: Wed, 22 Feb 2023 17:12:24 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=20PostgreSQL=20GitLa?= =?UTF-8?q?b=20=20Jenkins=20=E7=AD=89=E5=BA=94=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dataease/versions/1.18.2/README.md | 12 +- .../versions/1.18.2/docker-compose.yml | 2 +- apps/gitlab/metadata/logo.png | Bin 0 -> 5511 bytes apps/gitlab/versions/15.8.3/README.md | 126 ++++++++++++++++++ apps/gitlab/versions/15.8.3/config.json | 38 ++++++ .../gitlab/versions/15.8.3/docker-compose.yml | 25 ++++ apps/halo/versions/2.2.0/README.md | 21 --- apps/jenkins/metadata/logo.png | Bin 0 -> 21282 bytes apps/jenkins/versions/2.391/README.md | 75 +++++++++++ apps/jenkins/versions/2.391/config.json | 12 ++ .../jenkins/versions/2.391/docker-compose.yml | 20 +++ apps/list.json | 51 ++++++- .../docker-compose.yml | 2 +- apps/mysql/versions/8.0.30/docker-compose.yml | 1 - apps/nginx/metadata/logo.png | Bin 2411 -> 0 bytes apps/openresty/metadata/logo.png | Bin 0 -> 19320 bytes .../versions/1.21.4/README.md | 0 .../versions/1.21.4/conf/conf.d/default.conf | 0 .../versions/1.21.4/conf/mime.types | 0 .../versions/1.21.4/conf/nginx.conf | 0 .../versions/1.21.4/config.json | 0 .../versions/1.21.4/docker-compose.yml | 1 + .../versions/1.21.4/root/index.html | 0 .../versions/1.21.4/root/stop/index.html | 0 .../versions/1.21.4/www/common/waf/access.lua | 0 .../versions/1.21.4/www/common/waf/init.lua | 0 .../www/common/waf/rules/args_check.json | 0 .../1.21.4/www/common/waf/rules/cc.json | 0 .../www/common/waf/rules/cookie_block.json | 0 .../www/common/waf/rules/file_ext_block.json | 0 .../versions/1.21.4/www/common/waf/rules/html | 0 .../1.21.4/www/common/waf/rules/ip_block.json | 0 .../1.21.4/www/common/waf/rules/ip_white.json | 0 .../www/common/waf/rules/post_check.json | 0 .../www/common/waf/rules/url_block.json | 0 .../www/common/waf/rules/url_white.json | 0 .../www/common/waf/rules/user_agent.json | 0 .../versions/5.2.0/docker-compose.yml | 2 +- apps/postgresql/metadata/logo.png | Bin 0 -> 9854 bytes .../postgresql/versions/15.2-alpine/README.md | 27 ++++ .../versions/15.2-alpine/config.json | 28 ++++ .../versions/15.2-alpine/docker-compose.yml | 19 +++ .../versions/0.8.0/docker-compose.yml | 2 +- apps/redis/versions/6.0.16/docker-compose.yml | 1 + apps/redis/versions/7.0.5/docker-compose.yml | 1 + 45 files changed, 428 insertions(+), 38 deletions(-) create mode 100644 apps/gitlab/metadata/logo.png create mode 100644 apps/gitlab/versions/15.8.3/README.md create mode 100644 apps/gitlab/versions/15.8.3/config.json create mode 100644 apps/gitlab/versions/15.8.3/docker-compose.yml create mode 100644 apps/jenkins/metadata/logo.png create mode 100644 apps/jenkins/versions/2.391/README.md create mode 100644 apps/jenkins/versions/2.391/config.json create mode 100644 apps/jenkins/versions/2.391/docker-compose.yml delete mode 100644 apps/nginx/metadata/logo.png create mode 100644 apps/openresty/metadata/logo.png rename apps/{nginx => openresty}/versions/1.21.4/README.md (100%) rename apps/{nginx => openresty}/versions/1.21.4/conf/conf.d/default.conf (100%) rename apps/{nginx => openresty}/versions/1.21.4/conf/mime.types (100%) rename apps/{nginx => openresty}/versions/1.21.4/conf/nginx.conf (100%) rename apps/{nginx => openresty}/versions/1.21.4/config.json (100%) rename apps/{nginx => openresty}/versions/1.21.4/docker-compose.yml (91%) rename apps/{nginx => openresty}/versions/1.21.4/root/index.html (100%) rename apps/{nginx => openresty}/versions/1.21.4/root/stop/index.html (100%) rename apps/{nginx => openresty}/versions/1.21.4/www/common/waf/access.lua (100%) rename apps/{nginx => openresty}/versions/1.21.4/www/common/waf/init.lua (100%) rename apps/{nginx => openresty}/versions/1.21.4/www/common/waf/rules/args_check.json (100%) rename apps/{nginx => openresty}/versions/1.21.4/www/common/waf/rules/cc.json (100%) rename apps/{nginx => openresty}/versions/1.21.4/www/common/waf/rules/cookie_block.json (100%) rename apps/{nginx => openresty}/versions/1.21.4/www/common/waf/rules/file_ext_block.json (100%) rename apps/{nginx => openresty}/versions/1.21.4/www/common/waf/rules/html (100%) rename apps/{nginx => openresty}/versions/1.21.4/www/common/waf/rules/ip_block.json (100%) rename apps/{nginx => openresty}/versions/1.21.4/www/common/waf/rules/ip_white.json (100%) rename apps/{nginx => openresty}/versions/1.21.4/www/common/waf/rules/post_check.json (100%) rename apps/{nginx => openresty}/versions/1.21.4/www/common/waf/rules/url_block.json (100%) rename apps/{nginx => openresty}/versions/1.21.4/www/common/waf/rules/url_white.json (100%) rename apps/{nginx => openresty}/versions/1.21.4/www/common/waf/rules/user_agent.json (100%) create mode 100644 apps/postgresql/metadata/logo.png create mode 100644 apps/postgresql/versions/15.2-alpine/README.md create mode 100644 apps/postgresql/versions/15.2-alpine/config.json create mode 100644 apps/postgresql/versions/15.2-alpine/docker-compose.yml diff --git a/apps/dataease/versions/1.18.2/README.md b/apps/dataease/versions/1.18.2/README.md index ec4c50af6..7a6d6e799 100644 --- a/apps/dataease/versions/1.18.2/README.md +++ b/apps/dataease/versions/1.18.2/README.md @@ -1,14 +1,4 @@ -

DataEase

-

人人可用的开源数据可视化分析工具

-

- License: GPL v3 - Codacy - Latest release - Stars - -

-
- +------------------------------ ## 什么是 DataEase? ## DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。DataEase 支持丰富的数据源连接,能够通过拖拉拽方式快速制作图表,并可以方便的与他人分享。 diff --git a/apps/dataease/versions/1.18.2/docker-compose.yml b/apps/dataease/versions/1.18.2/docker-compose.yml index 2127b2958..2825e1b90 100644 --- a/apps/dataease/versions/1.18.2/docker-compose.yml +++ b/apps/dataease/versions/1.18.2/docker-compose.yml @@ -2,7 +2,7 @@ version: '3' services: dataease: image: registry.cn-qingdao.aliyuncs.com/dataease/dataease:v1.18.2 - container_name: dataease + container_name: ${CONTAINER_NAME} ports: - ${PANEL_APP_PORT_HTTP}:8081 volumes: diff --git a/apps/gitlab/metadata/logo.png b/apps/gitlab/metadata/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b4c82efed9875acdfe2ac761d6797ba3bf76d1c0 GIT binary patch literal 5511 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. + +## Getting help + +Please see [Getting help for GitLab](https://about.gitlab.com/getting-help/) on our website for the many options to get help. + +## Why? + +[Read here](https://about.gitlab.com/why/) + +## Is it any good? + +[Yes](https://about.gitlab.com/is-it-any-good/) + +## Is it awesome? + +[These people](https://twitter.com/gitlab/followers) seem to like it. diff --git a/apps/gitlab/versions/15.8.3/config.json b/apps/gitlab/versions/15.8.3/config.json new file mode 100644 index 000000000..3b912a9a5 --- /dev/null +++ b/apps/gitlab/versions/15.8.3/config.json @@ -0,0 +1,38 @@ +{ + "formFields": [ + { + "type": "text", + "labelZh": "访问地址", + "labelEn": "Address", + "required": true, + "default": "", + "envKey": "GITLAB_HOSTNAME", + "placeholderZh": "请填写域名或者 IP 地址", + "placeholderEn": "Please fill in the domain name or IP address" + }, + { + "type": "number", + "labelZh": "HTTP 端口", + "labelEn": "HTTP Port", + "required": true, + "default": 8090, + "envKey": "PANEL_APP_PORT_HTTP" + }, + { + "type": "number", + "labelZh": "HTTPS 端口", + "labelEn": "HTTPS Port", + "required": true, + "default": 8443, + "envKey": "PANEL_APP_PORT_HTTPS" + }, + { + "type": "number", + "labelZh": "SSH 端口", + "labelEn": "SSH Port", + "required": true, + "default": 2229, + "envKey": "JENKINS_SSH_PORT" + } + ] +} \ No newline at end of file diff --git a/apps/gitlab/versions/15.8.3/docker-compose.yml b/apps/gitlab/versions/15.8.3/docker-compose.yml new file mode 100644 index 000000000..aa7157895 --- /dev/null +++ b/apps/gitlab/versions/15.8.3/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3' +services: + gitlab: + image: 'gitlab/gitlab-ce:15.8.3-ce.0' + container_name: ${CONTAINER_NAME} + restart: always + hostname: ${GITLAB_HOSTNAME} + environment: + GITLAB_OMNIBUS_CONFIG: | + external_url 'http://${GITLAB_HOSTNAME}:${PANEL_APP_PORT_HTTP}' + ports: + - ${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP} + - ${PANEL_APP_PORT_HTTPS}:443 + - ${JENKINS_SSH_PORT}:22 + volumes: + - ./config:/etc/gitlab + - ./logs:/var/log/gitlab + - ./data:/var/opt/gitlab + shm_size: '256m' + networks: + - 1panel-network + +networks: + 1panel-network: + external: true diff --git a/apps/halo/versions/2.2.0/README.md b/apps/halo/versions/2.2.0/README.md index 37dc29ce7..a2f715763 100644 --- a/apps/halo/versions/2.2.0/README.md +++ b/apps/halo/versions/2.2.0/README.md @@ -1,24 +1,3 @@ -

- - Halo logo - -

- -

Halo [ˈheɪloʊ],强大易用的开源建站工具。

- -

-GitHub release -Docker pulls -GitHub last commit -GitHub Workflow Status -
-官网 -文档 -社区 -Gitee -Telegram 频道 -

- ------------------------------ ## 快速开始 ## diff --git a/apps/jenkins/metadata/logo.png b/apps/jenkins/metadata/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2f07898459525d4945d867abfef6c5705ded1160 GIT binary patch literal 21282 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 literal 0 HcmV?d00001 diff --git a/apps/jenkins/versions/2.391/README.md b/apps/jenkins/versions/2.391/README.md new file mode 100644 index 000000000..529c8234c --- /dev/null +++ b/apps/jenkins/versions/2.391/README.md @@ -0,0 +1,75 @@ + + + + + + + +# About + +[![Jenkins Regular Release](https://img.shields.io/endpoint?url=https%3A%2F%2Fwww.jenkins.io%2Fchangelog%2Fbadge.json)](https://www.jenkins.io/changelog) +[![Jenkins LTS Release](https://img.shields.io/endpoint?url=https%3A%2F%2Fwww.jenkins.io%2Fchangelog-stable%2Fbadge.json)](https://www.jenkins.io/changelog-stable) +[![Docker Pulls](https://img.shields.io/docker/pulls/jenkins/jenkins.svg)](https://hub.docker.com/r/jenkins/jenkins/) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3538/badge)](https://bestpractices.coreinfrastructure.org/projects/3538) + +In a nutshell, Jenkins is the leading open-source automation server. +Built with Java, it provides over 1,800 [plugins](https://plugins.jenkins.io/) to support automating virtually anything, +so that humans can spend their time doing things machines cannot. + +# What to Use Jenkins for and When to Use It + +Use Jenkins to automate your development workflow, so you can focus on work that matters most. Jenkins is commonly used for: + +- Building projects +- Running tests to detect bugs and other issues as soon as they are introduced +- Static code analysis +- Deployment + +Execute repetitive tasks, save time, and optimize your development process with Jenkins. + +# Downloads + +The Jenkins project provides official distributions as WAR files, Docker images, native packages and installers for platforms including several Linux distributions and Windows. +See the [Downloads](https://www.jenkins.io/download) page for references. + +For all distributions Jenkins offers two release lines: + +- [Weekly](https://www.jenkins.io/download/weekly/) - + Frequent releases which include all new features, improvements, and bug fixes. +- [Long-Term Support (LTS)](https://www.jenkins.io/download/lts/) - + Older release line which gets periodically updated via bug fix backports. + +Latest releases: +[![Jenkins Regular Release](https://img.shields.io/endpoint?url=https%3A%2F%2Fwww.jenkins.io%2Fchangelog%2Fbadge.json)](https://www.jenkins.io/changelog) +[![Jenkins LTS Release](https://img.shields.io/endpoint?url=https%3A%2F%2Fwww.jenkins.io%2Fchangelog-stable%2Fbadge.json)](https://www.jenkins.io/changelog-stable) + +# Source + +Our latest and greatest source of Jenkins can be found on [GitHub](https://github.com/jenkinsci/jenkins). Fork us! + +# Contributing to Jenkins + +Follow the [contributing guidelines](CONTRIBUTING.md) if you want to propose a change in the Jenkins core. +For more information about participating in the community and contributing to the Jenkins project, +see [this page](https://www.jenkins.io/participate/). + +Documentation for Jenkins core maintainers is in the [maintainers guidelines](docs/MAINTAINERS.adoc). + +# News and Website + +All information about Jenkins can be found on our [website](https://www.jenkins.io/). +Follow us on [Twitter](https://twitter.com/jenkinsci) or [LinkedIn](https://www.linkedin.com/company/jenkins-project/). + +# Governance + +See the [Jenkins Governance Document](https://www.jenkins.io/project/governance/) for information about the project's open governance, our philosophy and values, and development practices. +Jenkins Code of Conduct can be found [here](https://www.jenkins.io/project/conduct/). + +# Adopters + +Jenkins is used by millions of users and thousands of companies. +See [adopters](https://www.jenkins.io/project/adopters/) for the list of Jenkins adopters and their success stories. + +# License + +Jenkins is **licensed** under the **[MIT License](https://github.com/jenkinsci/jenkins/blob/master/LICENSE.txt)**. diff --git a/apps/jenkins/versions/2.391/config.json b/apps/jenkins/versions/2.391/config.json new file mode 100644 index 000000000..a298d6020 --- /dev/null +++ b/apps/jenkins/versions/2.391/config.json @@ -0,0 +1,12 @@ +{ + "formFields": [ + { + "type": "number", + "labelZh": "端口", + "labelEn": "Port", + "required": true, + "default": 8080, + "envKey": "PANEL_APP_PORT_HTTP" + } + ] +} \ No newline at end of file diff --git a/apps/jenkins/versions/2.391/docker-compose.yml b/apps/jenkins/versions/2.391/docker-compose.yml new file mode 100644 index 000000000..3a68907cd --- /dev/null +++ b/apps/jenkins/versions/2.391/docker-compose.yml @@ -0,0 +1,20 @@ +version: '3' +services: + jenkins: + container_name: ${CONTAINER_NAME} + image: jenkins/jenkins:2.391 + restart: unless-stopped + privileged: true + user: root + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + volumes: + - ./jenkins:/var/jenkins_home + - /var/run/docker.sock:/var/run/docker.sock + - /usr/local/bin/docker:/usr/local/bin/docker + networks: + - 1panel-network + +networks: + 1panel-network: + external: true diff --git a/apps/list.json b/apps/list.json index a3a898f2b..22be89f21 100644 --- a/apps/list.json +++ b/apps/list.json @@ -16,6 +16,10 @@ { "key": "Tool", "name": "工具" + }, + { + "key": "CI/CD", + "name": "CI/CD" } ], "items": [ @@ -36,7 +40,7 @@ "document": "https://dev.mysql.com/doc/" }, { - "key": "nginx", + "key": "openresty", "name": "OpenResty", "tags": ["Server"], "versions": ["1.21.4"], @@ -158,6 +162,51 @@ "website": "https://dataease.io/", "github": "https://github.com/dataease/dataease", "document": "https://dataease.io/docs/" + }, + { + "key": "jenkins", + "name": "Jenkins", + "tags": ["CI/CD"], + "versions": ["2.391"], + "shortDescZh": "构建伟大,无所不能", + "shortDescEn": "Build great things at any scale", + "type": "tool", + "required": [], + "limit": 1, + "crossVersionUpdate": false, + "website": "https://www.jenkins.io/", + "github": "https://github.com/jenkinsci/jenkins", + "document": "https://www.jenkins.io/doc/book/" + }, + { + "key": "gitlab", + "name": "GitLab", + "tags": ["CI/CD"], + "versions": ["15.8.3"], + "shortDescZh": "项目管理和代码托管平台", + "shortDescEn": "Project management and code hosting platform", + "type": "tool", + "required": [], + "limit": 1, + "crossVersionUpdate": false, + "website": "https://about.gitlab.com/", + "github": "https://github.com/gitlabhq/gitlabhq", + "document": "https://docs.gitlab.com/" + }, + { + "key": "postgresql", + "name": "PostgreSQL", + "tags": ["Database"], + "versions": ["15.2-alpine"], + "shortDescZh": "开源关系型数据库", + "shortDescEn": "Open Source Relational Database", + "type": "runtime", + "required": [], + "limit": 1, + "crossVersionUpdate": false, + "website": "https://about.gitlab.com/", + "github": "https://github.com/postgres/postgres", + "document": "https://docs.gitlab.com/" } ] } \ No newline at end of file diff --git a/apps/minio/versions/RELEASE.2022-08-13T21-54-44Z/docker-compose.yml b/apps/minio/versions/RELEASE.2022-08-13T21-54-44Z/docker-compose.yml index adbfde929..67d0df45d 100644 --- a/apps/minio/versions/RELEASE.2022-08-13T21-54-44Z/docker-compose.yml +++ b/apps/minio/versions/RELEASE.2022-08-13T21-54-44Z/docker-compose.yml @@ -2,7 +2,7 @@ version: '3' services: minio: image: minio/minio:RELEASE.2022-08-13T21-54-44Z - container_name: 1panel_minio + container_name: ${CONTAINER_NAME} ports: - ${PANEL_APP_PORT_HTTP}:9000 - ${PORT_API}:9001 diff --git a/apps/mysql/versions/8.0.30/docker-compose.yml b/apps/mysql/versions/8.0.30/docker-compose.yml index 35ae46c23..240765f08 100644 --- a/apps/mysql/versions/8.0.30/docker-compose.yml +++ b/apps/mysql/versions/8.0.30/docker-compose.yml @@ -17,7 +17,6 @@ services: - ./log:/var/log/mysql labels: createdBy: "Apps" - command: - --default-authentication-plugin=mysql_native_password diff --git a/apps/nginx/metadata/logo.png b/apps/nginx/metadata/logo.png deleted file mode 100644 index e4ccafdad18fd94d023edfe5a2ba9d0e580727e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2411 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 diff --git a/apps/openresty/metadata/logo.png b/apps/openresty/metadata/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a2caa14d0c833d56548d02c5df4ff5e1846e6e67 GIT binary patch literal 19320 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 literal 0 HcmV?d00001 diff --git a/apps/nginx/versions/1.21.4/README.md b/apps/openresty/versions/1.21.4/README.md similarity index 100% rename from apps/nginx/versions/1.21.4/README.md rename to apps/openresty/versions/1.21.4/README.md diff --git a/apps/nginx/versions/1.21.4/conf/conf.d/default.conf b/apps/openresty/versions/1.21.4/conf/conf.d/default.conf similarity index 100% rename from apps/nginx/versions/1.21.4/conf/conf.d/default.conf rename to apps/openresty/versions/1.21.4/conf/conf.d/default.conf diff --git a/apps/nginx/versions/1.21.4/conf/mime.types b/apps/openresty/versions/1.21.4/conf/mime.types similarity index 100% rename from apps/nginx/versions/1.21.4/conf/mime.types rename to apps/openresty/versions/1.21.4/conf/mime.types diff --git a/apps/nginx/versions/1.21.4/conf/nginx.conf b/apps/openresty/versions/1.21.4/conf/nginx.conf similarity index 100% rename from apps/nginx/versions/1.21.4/conf/nginx.conf rename to apps/openresty/versions/1.21.4/conf/nginx.conf diff --git a/apps/nginx/versions/1.21.4/config.json b/apps/openresty/versions/1.21.4/config.json similarity index 100% rename from apps/nginx/versions/1.21.4/config.json rename to apps/openresty/versions/1.21.4/config.json diff --git a/apps/nginx/versions/1.21.4/docker-compose.yml b/apps/openresty/versions/1.21.4/docker-compose.yml similarity index 91% rename from apps/nginx/versions/1.21.4/docker-compose.yml rename to apps/openresty/versions/1.21.4/docker-compose.yml index bb6e4c1be..b30e3333b 100644 --- a/apps/nginx/versions/1.21.4/docker-compose.yml +++ b/apps/openresty/versions/1.21.4/docker-compose.yml @@ -2,6 +2,7 @@ version: '3' services: openresty: image: openresty/openresty:1.21.4.1-3-alpine + container_name: ${CONTAINER_NAME} restart: always network_mode: host volumes: diff --git a/apps/nginx/versions/1.21.4/root/index.html b/apps/openresty/versions/1.21.4/root/index.html similarity index 100% rename from apps/nginx/versions/1.21.4/root/index.html rename to apps/openresty/versions/1.21.4/root/index.html diff --git a/apps/nginx/versions/1.21.4/root/stop/index.html b/apps/openresty/versions/1.21.4/root/stop/index.html similarity index 100% rename from apps/nginx/versions/1.21.4/root/stop/index.html rename to apps/openresty/versions/1.21.4/root/stop/index.html diff --git a/apps/nginx/versions/1.21.4/www/common/waf/access.lua b/apps/openresty/versions/1.21.4/www/common/waf/access.lua similarity index 100% rename from apps/nginx/versions/1.21.4/www/common/waf/access.lua rename to apps/openresty/versions/1.21.4/www/common/waf/access.lua diff --git a/apps/nginx/versions/1.21.4/www/common/waf/init.lua b/apps/openresty/versions/1.21.4/www/common/waf/init.lua similarity index 100% rename from apps/nginx/versions/1.21.4/www/common/waf/init.lua rename to apps/openresty/versions/1.21.4/www/common/waf/init.lua diff --git a/apps/nginx/versions/1.21.4/www/common/waf/rules/args_check.json b/apps/openresty/versions/1.21.4/www/common/waf/rules/args_check.json similarity index 100% rename from apps/nginx/versions/1.21.4/www/common/waf/rules/args_check.json rename to apps/openresty/versions/1.21.4/www/common/waf/rules/args_check.json diff --git a/apps/nginx/versions/1.21.4/www/common/waf/rules/cc.json b/apps/openresty/versions/1.21.4/www/common/waf/rules/cc.json similarity index 100% rename from apps/nginx/versions/1.21.4/www/common/waf/rules/cc.json rename to apps/openresty/versions/1.21.4/www/common/waf/rules/cc.json diff --git a/apps/nginx/versions/1.21.4/www/common/waf/rules/cookie_block.json b/apps/openresty/versions/1.21.4/www/common/waf/rules/cookie_block.json similarity index 100% rename from apps/nginx/versions/1.21.4/www/common/waf/rules/cookie_block.json rename to apps/openresty/versions/1.21.4/www/common/waf/rules/cookie_block.json diff --git a/apps/nginx/versions/1.21.4/www/common/waf/rules/file_ext_block.json b/apps/openresty/versions/1.21.4/www/common/waf/rules/file_ext_block.json similarity index 100% rename from apps/nginx/versions/1.21.4/www/common/waf/rules/file_ext_block.json rename to apps/openresty/versions/1.21.4/www/common/waf/rules/file_ext_block.json diff --git a/apps/nginx/versions/1.21.4/www/common/waf/rules/html b/apps/openresty/versions/1.21.4/www/common/waf/rules/html similarity index 100% rename from apps/nginx/versions/1.21.4/www/common/waf/rules/html rename to apps/openresty/versions/1.21.4/www/common/waf/rules/html diff --git a/apps/nginx/versions/1.21.4/www/common/waf/rules/ip_block.json b/apps/openresty/versions/1.21.4/www/common/waf/rules/ip_block.json similarity index 100% rename from apps/nginx/versions/1.21.4/www/common/waf/rules/ip_block.json rename to apps/openresty/versions/1.21.4/www/common/waf/rules/ip_block.json diff --git a/apps/nginx/versions/1.21.4/www/common/waf/rules/ip_white.json b/apps/openresty/versions/1.21.4/www/common/waf/rules/ip_white.json similarity index 100% rename from apps/nginx/versions/1.21.4/www/common/waf/rules/ip_white.json rename to apps/openresty/versions/1.21.4/www/common/waf/rules/ip_white.json diff --git a/apps/nginx/versions/1.21.4/www/common/waf/rules/post_check.json b/apps/openresty/versions/1.21.4/www/common/waf/rules/post_check.json similarity index 100% rename from apps/nginx/versions/1.21.4/www/common/waf/rules/post_check.json rename to apps/openresty/versions/1.21.4/www/common/waf/rules/post_check.json diff --git a/apps/nginx/versions/1.21.4/www/common/waf/rules/url_block.json b/apps/openresty/versions/1.21.4/www/common/waf/rules/url_block.json similarity index 100% rename from apps/nginx/versions/1.21.4/www/common/waf/rules/url_block.json rename to apps/openresty/versions/1.21.4/www/common/waf/rules/url_block.json diff --git a/apps/nginx/versions/1.21.4/www/common/waf/rules/url_white.json b/apps/openresty/versions/1.21.4/www/common/waf/rules/url_white.json similarity index 100% rename from apps/nginx/versions/1.21.4/www/common/waf/rules/url_white.json rename to apps/openresty/versions/1.21.4/www/common/waf/rules/url_white.json diff --git a/apps/nginx/versions/1.21.4/www/common/waf/rules/user_agent.json b/apps/openresty/versions/1.21.4/www/common/waf/rules/user_agent.json similarity index 100% rename from apps/nginx/versions/1.21.4/www/common/waf/rules/user_agent.json rename to apps/openresty/versions/1.21.4/www/common/waf/rules/user_agent.json diff --git a/apps/phpmyadmin/versions/5.2.0/docker-compose.yml b/apps/phpmyadmin/versions/5.2.0/docker-compose.yml index 5ef7de26a..bf2ff7518 100644 --- a/apps/phpmyadmin/versions/5.2.0/docker-compose.yml +++ b/apps/phpmyadmin/versions/5.2.0/docker-compose.yml @@ -2,7 +2,7 @@ version: '3' services: phpmyadmin: image: phpmyadmin/phpmyadmin:5.2.0 - container_name: 1panel_phpmyadmin + container_name: ${CONTAINER_NAME} ports: - ${PANEL_APP_PORT_HTTP}:80 environment: diff --git a/apps/postgresql/metadata/logo.png b/apps/postgresql/metadata/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..fd9c7ec282aef38a5813e8542d92227b96bd5be8 GIT binary patch literal 9854 zcmX9^1yEbh*M(vUQtSs5D;7#|iWV(W+}i|qFYaEfNO1@RN-6H{?#12R-KDtmz5jff zd3lp$vf0hOd(OS*Y^aKoG!7;iCK3`7j;ze*FTmaXe-{WHc;+|Zod9mAPU5mq5b*E@ znfwG^gY9KBosf`TJ^t@P&SuEw0Nx~Zmeg?mYG>x`X6R^&Gjit>@AEhmNe^@%8 zbv^!Ft$Q`B^hC=ZUyX%YQdHIRlvVUq1{x>^6$F7~-b}A6kD8s+6hUb@IZU$1o(X17KlLCytKW+=?+BMfk0{po+eg3X>g($p z85x~jU*|SA|Ea9x92gvAWM|K-o!OzX#4mq+`*sdf0cj`mI6yJeX0f)br-y)oLP16b z)X~v_iiW1Dsw(E=BT{F(O#A6mT641yCnslqS(*CsYK8>HN!yDLI`$jU=(oaqa}{)@ zrKPpC+ERvwG)-=&W)IiLM{^ZFE_O$giyEoiWkIn^Q*QGLl*_uY2l z(R@{Jxdsxm|7;*$Qmx41J0P54=su{PjAa;TXdk?;t=}p9`rk@oApJA0zdplYM0rXn zw7{?_f^L-#n^FS<14A>)a&j9viF!s;`KqoSzQ$u9FJ)%wOXAwfx=)FHjBJIx9b=__xlW(n3za!_#Gh^JHx;#-$sgLHP%LL zoHGqD75=+Er|z4@vQy4dYKH{k=`_KH60%6prR=sK6>P7rAg@&ivb;>x z)7Kw;etK|laWNfB7n9m1qv@+p7_GpX{pk8Eu&;jco~bB1w{|7JG^B}H%xC3u@Gapg zZ@_IWzH@XqL}>1EN*pxjLi;1=FgnJerQK12mAbt*t~Eu=$!+&d@XfJ|Uvyrf4yYqj zGTi-YS{>LFP-0z_9x#m(_jQyMu+#SO4T4UVmX}kMMeYLg(tH;3ZONIaXyv7&>BASe}Cive)oH)dOt|_;zfql{IK4{6)XgGwR(Gw}!qKG;VQUgEP z-seO4jl@(a8t;|bkw6E-Dph*!$Zd!*mbcKdhr0}4?(0KYjhOoomx~?6o@lDk_0AAP z;-J5D5Z)n+@GNZy9MX+kz+G%AAt9mJ;>i;l8d~TXGGbO?A;I}AvG{=Jci?r2IO#%> zaH#O&c!djA)_LJ?f#;`5nwcYE)30^kSQjLN&ilR#zu`;gIFg`Cbah%#T58r4LF)Z*TsLsQ)BYs>Gi4{$JORMMC4UsrPh+J| zQ55{*z`ouR*oN^mKX(&fr!-FdIW-}?ceWmuuA*um>{M(`h|~Xj6g>-1QQtbd2|;`K z*Y#5*g6h9A+VsNQDBRY?LEH!B#ckma>tc_m#uEFJ6*ULZ?&I_=u+Sd!fq;`LC5DzEi)4ENka&TO1Nje-2)-?24|YS89kxZ8?Tc7MLxMZn5XPy+GP zBU25-faMYR>H48^c$}N4mFh4irVWm4Hbl>S`Jy*{#BRv?_+9AknmxL(XTwzR%boqS zNM20`-rJMXW)26AID*Ea(p};N&fQh=kBKSfi8t7X%c*>66dCu1ZTAO7z!p~4JZ8~? z%g2)p<2S!9If&)8S+L*e0(+1`)igV&+!A8r^o^X;=>A2U_r%OqrFcItpKz~eS1cCT zaD)WDb$DF8guL=@*|MVFh7CO$;3PW!78z8_l(&BK;*TsmW3Pnk2hX4IPDhB)St2}uRA;TE=_7m+AeI9d)Hf*eO)vFdnxIe4J?^v z>(sO9W1U?YJyTI-!mu9pFh+| zw)5}bU)Nd>X(S11=LeaJ=Oj-#)Me!n=FfM+$?z-B zZDRjc@9Vq}3;aE+L^nvD{`PQLUB;pF^766=0JaF2(Kwl|Nj@k6(vRXU=O$v@gDoWF ztow>(#eIqmrv@$S^yKqlf+yqc-ow)t(QkG2=Raehj@8zMo)zw=!c17WsL1zc8ajHZ zuN91ULPa+R3`2zP6sU!SbTqg5w?i{fl`}iik2f|lznDSt%$=?hHWO*&>Kp4hjH~rL z%T}0-He;RhYCF`Xthk#SE$DjLb>hlu?1%=Weckbt-T1KFw4%2KmHWONt*>`{RTj=+ zdApL{h7G<51hK;`vgwoca-7ER9gW3A2jtz-pG#j#%=Hu9+jG1_s{bclE`U!EvNfToM9UNqktE_3J;q zSLk^au7quZ%IZQ6mf8`rwa)Ls3Fh2lVq)jrR&`;?OFwhP@4BP^47%QZP!1*7gBye6Zco1d5jrs0zM$7fh!Sf8PF)h%ohlhMZ! zy82F-fm>Ah?0B&bXE|JvfaP#J9#v4gVD+6idy6T8XNx#N;OZ$#3Z_UYUzazq+pzQGND+ z$L6z}f7$iTzaKX^3oR{8eUGw5jx}rPYGN4*$1@N&aUNcsZ82o6xShxVf+*eko`AI1aq3$-Rha;HD@Pp-&LO9SV)7jC zEEb~qd8UptF4X>n;<~9X)J-t+Mo|jpvaq34Iy1-xn8IQw`Wq$vzDG>YP>;>ZyUHR1 zVoBC-7?)B&s${_r6bKh9T*iA8gfs4@ zD05^~uIkQjY)kLQul7_CDI$^}8u=XfnmqTfB&9Tw;Xp7UlErLc!Fo+?=cu;Lf6;d2 zBUB975MH6VA<7;6wZm>N<>;No|0Tj;X$roc@bXfFPM^)pE;_imtheO# z;t>*OGaW9x(|I@77K(~->xsYoi;4p3AAG`JOTtwa`LOgCkG z+;Ak6`|_Rs@O27TgHAZ;A47$?AU`VC+-hf1eH z5=JVjk8#~48;){Jh5gMQ+EKAgOhsF3Ni4N*o2X}Pm^$3Zf05!+3Szk<5)mF~>wn%ku|9NFggs8ZhL+e?Z zB=u_&~R17c%m#NDJ@nTM*mmKu|FY3he{ruo$Qzw)K%07c+H!zpF@S?3XL#O zl$2?Wr|kOixX`DKK|b3o)%W-dg6Rxj1lH@YD@QEwN@MieEjvgjbXSE*h=?le(k#EX zjX*^{NCcRwmFcy}IaI97o&NNVqG7^r9NqDxQk$OYuTrxgQptiau=ELlqd;ne)+MM6 zOg*cL$-Jb$LB5*^yP|ir>RE=emKA>ZI_bIf-yR)} z1ZBGV=)m;hF^ad)zHyLo6DQi|AjIkiF`5<^7Z>Y=YFW)@7|3wKVPuLMmS7|Su2r{= z%HvEuZlH*w=nJ)$RAojDZ}7^|oPa zx{W^?8wIXUSJ_D}_qQ|xo|>nl(641eps=jeBrgx{Pi%d7{rl>$3URs3AB^#&mkPmA zSaPWMo(^f^t53sxt17xB_x>!^muz$a8& zZskCR|EQ+lcQ7(C#>ej^l0{L3d~dlljy2?)fxZWi*qK>M$OHXAZ>-aO`cZ%AGVC8r z4yra=*s3qjg$dU?&Vq_qVv&$t^@L-yzsXb$I6OR@Z&FVi@A>Vb_ccQYWAXoI69CWM z9j!(W=i67Od=^PnpqLo8UKT>24^@XbHH&+OhlOdhc-B<9*WqQ3M|^w-CKlI`wh}>| zT6R{)i0T}uZbiVZEA9iCz-+F6P*Et_>?5lO??oGW<2(yk6y&yu_I<5$o##|DkPG`4 z;PmqO#n2=oR;5zs@@j)PLLC7s3bki@OBQp_Ie+fD`ix`wsp$!wS4`zCPn=fMXbPUUnVrg{; zbAI`&mE+@7{&GnKlL{ogx#8m{W=7Biukz4#r8%Hn{w^Y7RM#*JACf4<4hrjOD1*}LdNsG+X zn4at+G}gr^na@rQ=lq6WG;CCV`hnZUV)-xAWHLYMoyVklhKG|YW>0k6tb9dXo}hAc zlQgVUPN$IiwmOe{;@M81 zT{lx9Q;tVV8S{W)%122;w7~L8fkyZtfhl?9J+p${4u@)N=iMK|CUg3o7k8D{D^4yB zhSw4cUCcm<54Eil5Wc*XoK`ZuKFO6ID4I*oy;)4< z$WESj$)>;DpVO)->%@IHiZfePGub8nw~5?>>10vn>TE-(6!5oB4peeu4h=_ohdskA zHB+i<^~R}sYOG+HZ0@tYsw%#q+rf>mN)OUJ7PDJQeDsf}77vT`ePCb(*vE!MDD{0hQrzM9b<=$)EG-A7{v5sPOdB{g19 z`NV{nHg*Lk!>V|Qq(}9?qWQcSKDO}UpvBTWW1p0+hMn}Hm{U|@h1c}4vzbrZwm?=U z>7{bsFC=+}cBLLe8-v)}9^r%xP;FXPLUHbI1ct|KDV#-Cv!w{Pk$6aNaVW`SHg50P zwexNYX;wsS<%f{iC&B(IyGXp^1!G4pg1n8xlHN!mDY3;SYbBA zRkb4I72f7qEe-kdCB@yHox)n}W**gHYr*kIj(ja9{RFnFGkh~}ho*x3;?iy9 z3*RsM(M?^!71zfM?&1}HRE*-qJ*^H8=C`viac0s>^*Y1TO4RpL^nY<{n5z8Zu}Ux$ z2-$8&fkU1&;n~U%SuJMSFJTbbIzOg0PJ8seM98-sh-{nP9I|dOYg4qV_o zaS$HIy4`9_iq%W}i=mhgi?4B^+y|r>b!bm(H8X`!T=zaRUqNxfW>F#o{_I*?3*Rv& zyN{WJc3T=6Al+OHWQ9u2?vAF70!r`kzc3+ct=)aY!{?4gKZxJno&}qJYeaJL%&V>Z z?-9Atd&3vFi>dl|RaCeYFH=ONODyr5fxcjSCl|wQeX6h9lz^ZJVPhK^n{D8CR{&LD zTQj(0V^S?4nAJG}X-RZ3C(6gBVt60KVrbG9HT1Onp1(@T)Rca4<9~DO9SeD`$l*8-NWijsrQx-O_xD=iUC+Ak4AH_ zS%}`hKQz+L0B6DG6blRM+k9otbW=eakaNusrIwRb?lfJbR_5bK+<^=}#e$#Q&(fKs zySBPc>g&0Ey>0-l@~)T57-qGa#ARM-I!JtQc&J%rhNCR>4;3FD|MFxx*s_&PvI(S56>6i}In12JFZr!hcFfrWnt+@XvYrP-HFU1R(nu1nVRgv=9{wX|4 zF6q5neki(C%8-OZ+)d?-s)k||JDh_$+A@sh1BgQ7F7 zPl4XgD`CrpR4D`i`B#TyB2b=yRv}g!Dy3&gS{F7@Flzz2yxQ1i3}p&Za&Y({>~#&{ z;`-`V@Sg>s5!i&GqIid?AuHL~uu^%S`Rm}3kWOT~R5T?sQw@<7(Yh@+x(GcSRhgZJ zhJ_h*2IDX}CY}mq(2}f$M@qv!)sH_3Zn8LAmt1?#BRu=9mjSr|=yJ==P8k!9WlR_U zg=gzFb__4(fKcNIz0NwdCt+K}#KiFU_-qKt8WzoGM(&buDNrn0@pOvsK#{#R~j`aft&w$OLki;2u?|DVgJ3WnP{r+(N{BRl<8=JB4Y;Lz;`uxr4 z)B3@J!1R{_^N{yNi!(ZJcAmfVaA=}XvEv5c?6;rK=AEC%qaqk&0Lw`t>Bcp3TbU4@uW|Hr%CH4`KL_|_QjuhmfR_Zg5Rl0{WrhzQ#y27yfqZMe zI97^dgfA`Yc$oLRhb3s4*N+~gLkr~E2iioWY;=X|!Up@sR!gg@S9sSatYs_=!Rto zrE1*dd)>yS1_B~71Kzx9MiX=MDua$!B9CVhooA|J0)KId#NQ0B{FW@o%hZ5p^S2X> z$*umt73l*^pY4>%9R(%oRz=iPwpDrz9gq43&fQp4#H_EbE@d2p^3Gg^F%YQEpE@*a zQ`_YKlaDnde*SdKVw3pxJ#Nz*^G=T(aFv(6p){y-GJjhi}8!3bpZP~g&UzD&T>?ACuUK7E1un%U` zYDP*53Je#jzg0SYZ}U0e{yXTJUFqEmj?*;5S*Ml7K3()Tr=mz-&}+%fl^QXz3xAc- zpkmgO#Ao-`>-tEwfTFXr^MAa+zz{;tXB!h2C!wVDdUqs+s~U@Z1N%&xrt7sl;)qD{ z`lD8|gOJ6taGpZaUjQby!Le=83=;p9atp*KByjpXy1O2Y)p7CjCmD7I_wN#hI5Tj! zCjyuh7yDJz)t1KPiVOl4T3R|gx6iUM0X?0DnE@mt1@5w2Y3}b1Cm|Jb=P+nobVdb| z2X=i3q*WD=q&p(DsJF}<`k?VW4Pz1@KXc#^VLx7k9+ux}>q8WsbX2+X{ugu{P8*y? z=Y0Yo4DaYATWr6dH0;jR+9V4lc-1#?0@&>Fq+T|zqF&a~Ib5Pz>3THRVH_=-8&=|y zfGUmpP*iP(ZUxh}e>;b2jeZTLDUQml(x%AA+W;6Imyi1|2FEhd2P7o4)Bl|Xpk`(c z4-7j^=*G0CGPyP7UXVJxjR=VB)0kFDYUOz? zdArP-fEGp@s;-!vTv&1G<;4XZ;MD_8{N~1nxQh!93%mvW?Tl-@I4%BggZ1p;)_CJ`<jBHkW{HUlSNY1g2_ispKWf*zpb;ze~B|hyFMNSOG-?1`RRPhd9TIK|%Bc zkBJ6NVhINH9UaKm!*T|g#2_||Qh{b105LMrBud?t}>`GLqK@!V>0~u(gqj_1EJTjD(%rTU+n>7KkhCgw&c3J3Bik7Z(_JwiI^ALzenr!P+~bU-gK@ z^%IP>al9ItZbkkybk`M1czHOhyqn1C*M!q4kP;*)8IVEqs(=pOj4WkQf<|M0pNR{zr;>p8NFt$EaFyYoauP zlL|lH(FE3KiL}>Q^h&Pp?=!aEA25$oP<-;yiFhllwU;`7){k*=-_TZsw-E)Y=UMoP zkrWe4CmjYrvX-R9_wOxpO>SlG>p>)+lX-2hLy6iA(+@|Vgk91E3&Ur`;MqzRojQx} z%iIoUB0~uoCR)FH(bCd_u&}aJT&{qE~ze6tpHnl7qW8spJeFAUPnqCR{(<`eWJf)h` zg)qV229#tIkmy%E$dqH~8NKOOyNwHH{Zh&Qd`c|-qQgFsJbx-Ii>-kMzJ3DEiXq8L LDt#^$HwgGY45MFw literal 0 HcmV?d00001 diff --git a/apps/postgresql/versions/15.2-alpine/README.md b/apps/postgresql/versions/15.2-alpine/README.md new file mode 100644 index 000000000..6416a8cf3 --- /dev/null +++ b/apps/postgresql/versions/15.2-alpine/README.md @@ -0,0 +1,27 @@ +PostgreSQL Database Management System +===================================== + +This directory contains the source code distribution of the PostgreSQL +database management system. + +PostgreSQL is an advanced object-relational database management system +that supports an extended subset of the SQL standard, including +transactions, foreign keys, subqueries, triggers, user-defined types +and functions. This distribution also contains C language bindings. + +PostgreSQL has many language interfaces, many of which are listed here: + + https://www.postgresql.org/download/ + +See the file INSTALL for instructions on how to build and install +PostgreSQL. That file also lists supported operating systems and +hardware platforms and contains information regarding any other +software packages that are required to build or run the PostgreSQL +system. Copyright and license information can be found in the +file COPYRIGHT. A comprehensive documentation set is included in this +distribution; it can be read as described in the installation +instructions. + +The latest version of this software may be obtained at +https://www.postgresql.org/download/. For more information look at our +web site located at https://www.postgresql.org/. diff --git a/apps/postgresql/versions/15.2-alpine/config.json b/apps/postgresql/versions/15.2-alpine/config.json new file mode 100644 index 000000000..d6fae7156 --- /dev/null +++ b/apps/postgresql/versions/15.2-alpine/config.json @@ -0,0 +1,28 @@ +{ + "formFields": [ + { + "type": "text", + "labelZh": "用户名", + "labelEn": "Username", + "required": true, + "default": "random", + "envKey": "PANEL_DB_USER" + }, + { + "type": "password", + "labelZh": "用户密码", + "labelEn": "Password", + "required": true, + "default": "random", + "envKey": "PANEL_DB_ROOT_PASSWORD" + }, + { + "type": "number", + "labelZh": "端口", + "labelEn": "Port", + "required": true, + "default": 5432, + "envKey": "PANEL_APP_PORT_HTTP" + } + ] +} \ No newline at end of file diff --git a/apps/postgresql/versions/15.2-alpine/docker-compose.yml b/apps/postgresql/versions/15.2-alpine/docker-compose.yml new file mode 100644 index 000000000..f259ae64b --- /dev/null +++ b/apps/postgresql/versions/15.2-alpine/docker-compose.yml @@ -0,0 +1,19 @@ +version: '3' +services: + postgres: + container_name: ${CONTAINER_NAME} + image: postgres:15.2-alpine + restart: always + environment: + - POSTGRES_USER=${PANEL_DB_USER} + - POSTGRES_PASSWORD=${PANEL_DB_ROOT_PASSWORD} + ports: + - ${PANEL_APP_PORT_HTTP}:5432 + volumes: + - ./data:/var/lib/postgresql/data + networks: + - 1panel-network + +networks: + 1panel-network: + external: true diff --git a/apps/redis-commander/versions/0.8.0/docker-compose.yml b/apps/redis-commander/versions/0.8.0/docker-compose.yml index 1bdfb4a44..5a9c6f097 100644 --- a/apps/redis-commander/versions/0.8.0/docker-compose.yml +++ b/apps/redis-commander/versions/0.8.0/docker-compose.yml @@ -1,7 +1,7 @@ version: '3' services: redis-commander: - container_name: redis-commander + container_name: ${CONTAINER_NAME} hostname: redis-commander image: rediscommander/redis-commander:latest restart: always diff --git a/apps/redis/versions/6.0.16/docker-compose.yml b/apps/redis/versions/6.0.16/docker-compose.yml index 6de98f1f1..6239e0ad4 100644 --- a/apps/redis/versions/6.0.16/docker-compose.yml +++ b/apps/redis/versions/6.0.16/docker-compose.yml @@ -3,6 +3,7 @@ services: redis: image: redis:6.0.16 restart: always + container_name: ${CONTAINER_NAME} networks: - 1panel-network ports: diff --git a/apps/redis/versions/7.0.5/docker-compose.yml b/apps/redis/versions/7.0.5/docker-compose.yml index 4f7a3e944..3d001b2cd 100644 --- a/apps/redis/versions/7.0.5/docker-compose.yml +++ b/apps/redis/versions/7.0.5/docker-compose.yml @@ -3,6 +3,7 @@ services: redis: image: redis:7.0.5 restart: always + container_name: ${CONTAINER_NAME} networks: - 1panel-network ports: