Merge pull request #8082 from maint/pterodactyl-china-mysql-ca-pr8001-replacement

This commit is contained in:
okxlin
2026-10-30 02:46:13 +08:00
10 changed files with 614 additions and 0 deletions
@@ -16,6 +16,7 @@ PANEL_DB_HOST="mysql"
PANEL_DB_HOST_NAME="mysql"
PANEL_DB_NAME="pterodactyl_8pn35e"
PANEL_DB_PORT="3306"
PANEL_DB_SSL_CA=""
PANEL_DB_TYPE="mysql"
PANEL_DB_USER="pterodactyl_zmj6mN"
PANEL_DB_USER_PASSWORD="pterodactyl_JX8c5G"
+16
View File
@@ -72,6 +72,22 @@ additionalProperties:
required: true
rule: paramPort
type: number
- default: ""
edit: true
envKey: PANEL_DB_SSL_CA
labelEn: MySQL CA certificate path
labelZh: MySQL CA 证书路径
label:
en: "MySQL CA certificate path"
zh: "MySQL CA 证书路径"
zh-Hant: "MySQL CA 憑證路徑"
ja: "MySQL CA 証明書のパス"
ko: "MySQL CA 인증서 경로"
ru: "Путь к сертификату центра сертификации MySQL"
ms: "Laluan sijil CA MySQL"
pt-br: "Caminho do certificado CA do MySQL"
required: false
type: text
- default: pterodactyl
envKey: PANEL_DB_NAME
labelEn: Database
@@ -15,6 +15,7 @@ services:
- DB_CONNECTION=mysql
- DB_HOST=${PANEL_DB_HOST}
- DB_PORT=${PANEL_DB_PORT}
- MYSQL_ATTR_SSL_CA=${PANEL_DB_SSL_CA:-}
- DB_DATABASE=${PANEL_DB_NAME}
- DB_USERNAME=${PANEL_DB_USER}
- DB_PASSWORD=${PANEL_DB_USER_PASSWORD}
@@ -0,0 +1,31 @@
CONTAINER_NAME="pterodactyl-china"
APP_ENV="production"
APP_ENVIRONMENT_ONLY="false"
APP_SERVICE_AUTHOR="noreply@example.com"
CACHE_DRIVER="redis"
MAIL_DRIVER="smtp"
MAIL_ENCRYPTION="true"
MAIL_FROM="noreply@example.com"
MAIL_HOST="mail"
MAIL_PORT="1025"
MAIL_USERNAME=""
MAIL_PASSWORD=""
PANEL_APP_PORT_HTTP="40222"
PANEL_APP_URL="http://localhost:40222"
PANEL_DB_HOST="mysql"
PANEL_DB_HOST_NAME="mysql"
PANEL_DB_NAME="pterodactyl_8pn35e"
PANEL_DB_PORT="3306"
PANEL_DB_SSL_CA=""
PANEL_DB_TYPE="mysql"
PANEL_DB_USER="pterodactyl_zmj6mN"
PANEL_DB_USER_PASSWORD="pterodactyl_JX8c5G"
PANEL_RECAPTCHA_ENABLED="true"
PANEL_REDIS_DB_HOST="redis"
PANEL_REDIS_ROOT_PASSWORD="jhkdjhkjdhsIUTYURTU_Z6ER6p"
QUEUE_DRIVER="redis"
REDIS_HOST="redis"
SESSION_DRIVER="redis"
TIME_ZONE="Asia/Shanghai"
USER_GID="1000"
USER_UID="1000"
+492
View File
@@ -0,0 +1,492 @@
additionalProperties:
formFields:
- default: 1000
envKey: USER_UID
labelEn: User UID
labelZh: 用户 UID
label:
en: 'User UID'
zh: '用户 UID'
zh-Hant: '用戶 UID'
ja: 'ユーザー UID'
ko: '사용자 UID'
ru: 'UID пользователя'
ms: 'UID pengguna'
pt-br: 'UID do usuário'
required: true
type: text
- default: 1000
envKey: USER_GID
labelEn: User GID
labelZh: 用户 GID
label:
en: 'User GID'
zh: '用户 GID'
zh-Hant: '用戶 GID'
ja: 'ユーザー GID'
ko: '사용자 GID'
ru: 'GID пользователя'
ms: 'GID pengguna'
pt-br: 'GID do usuário'
required: true
type: text
- default: mysql
envKey: PANEL_DB_TYPE
labelEn: Database Service
labelZh: 数据库服务
label:
en: 'Database Service'
zh: '数据库服务'
zh-Hant: '數據庫服務'
ja: 'データベースサービス'
ko: '데이터베이스 서비스'
ru: 'Сервис базы данных'
ms: 'Perkhidmatan Pangkalan Data'
pt-br: 'Serviço de Banco de Dados'
required: true
type: apps
child:
default: ""
envKey: PANEL_DB_HOST
required: true
type: service
values:
- label: "MySQL"
value: mysql
- label: "MariaDB"
value: mariadb
- default: 3306
edit: true
envKey: PANEL_DB_PORT
labelEn: Database Port
labelZh: 数据库端口
label:
en: 'Database Port'
zh: '数据库端口'
zh-Hant: '資料庫連接埠'
ja: 'データベースポート'
ko: '데이터베이스 포트'
ru: 'Порт базы данных'
ms: 'Port pangkalan data'
pt-br: 'Porta do banco de dados'
required: true
rule: paramPort
type: number
- default: ""
edit: true
envKey: PANEL_DB_SSL_CA
labelEn: MySQL CA certificate path
labelZh: MySQL CA 证书路径
label:
en: "MySQL CA certificate path"
zh: "MySQL CA 证书路径"
zh-Hant: "MySQL CA 憑證路徑"
ja: "MySQL CA 証明書のパス"
ko: "MySQL CA 인증서 경로"
ru: "Путь к сертификату центра сертификации MySQL"
ms: "Laluan sijil CA MySQL"
pt-br: "Caminho do certificado CA do MySQL"
required: false
type: text
- default: pterodactyl
envKey: PANEL_DB_NAME
labelEn: Database
labelZh: 数据库名
label:
en: 'Database'
zh: '数据库名'
zh-Hant: '數據庫名'
ja: 'データベース'
ko: '데이터베이스'
ru: 'База данных'
ms: 'Pangkalan Data'
pt-br: 'Banco de Dados'
random: true
required: true
rule: paramCommon
type: text
- default: pterodactyl
envKey: PANEL_DB_USER
labelEn: User
labelZh: 数据库用户
label:
en: 'User'
zh: '数据库用户'
zh-Hant: '數據庫用戶'
ja: 'ユーザー'
ko: '사용자'
ru: 'Пользователь'
ms: 'Pengguna'
pt-br: 'Usuário'
random: true
required: true
rule: paramCommon
type: text
- default: pterodactyl
envKey: PANEL_DB_USER_PASSWORD
labelEn: Password
labelZh: 数据库用户密码
label:
en: 'Password'
zh: '数据库用户密码'
zh-Hant: '數據庫用戶密碼'
ja: 'パスワード'
ko: '비밀번호'
ru: 'Пароль'
ms: 'Kata laluan'
pt-br: 'Senha'
random: true
required: true
rule: paramComplexity
type: password
- default: 40222
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Port
labelZh: HTTP 端口
label:
en: 'Port'
zh: '端口'
zh-Hant: '埠'
ja: 'ポート'
ko: '포트'
ru: 'Порт'
ms: 'Port'
pt-br: 'Porta'
required: true
rule: paramPort
type: number
- default: http://localhost:40222
edit: true
envKey: PANEL_APP_URL
labelEn: External URL
labelZh: 外部访问地址
label:
en: 'External URL'
zh: '外部访问地址'
zh-Hant: '外部訪問地址'
ja: '外部 URL'
ko: '외부 URL'
ru: 'Внешний URL'
ms: 'URL luaran'
pt-br: 'URL externa'
required: true
rule: paramExtUrl
type: text
- default: ""
envKey: PANEL_REDIS_DB_HOST
key: redis
labelEn: Redis Service
labelZh: 缓存服务服务
label:
en: 'Redis Service'
zh: 'Redis服务'
zh-Hant: 'Redis 服務'
ja: 'Redis サービス'
ko: 'Redis 서비스'
ru: 'Сервис Redis'
ms: 'Perkhidmatan Redis'
pt-br: 'Serviço Redis'
required: true
type: service
- default: ""
envKey: PANEL_REDIS_ROOT_PASSWORD
labelEn: Redis Service Password
labelZh: 缓存服务服务密码
label:
en: 'Redis Service Password'
zh: 'Redis服务密码'
zh-Hant: 'Redis 服務密碼'
ja: 'Redis サービスパスワード'
ko: 'Redis 서비스 비밀번호'
ru: 'Пароль сервиса Redis'
ms: 'Kata laluan perkhidmatan Redis'
pt-br: 'Senha do serviço Redis'
required: true
type: password
- default: noreply@example.com
edit: true
envKey: MAIL_FROM
labelEn: MAIL FROM
labelZh: 预设作者邮箱
label:
en: 'Mail From'
zh: '预设作者邮箱'
zh-Hant: '預設作者郵箱'
ja: '送信元メールアドレス'
ko: '발신자 이메일'
ru: 'Адрес отправителя'
ms: 'E-mel pengirim'
pt-br: 'E-mail do remetente'
required: true
type: text
- default: "true"
edit: true
envKey: PANEL_RECAPTCHA_ENABLED
labelEn: RECAPTCHA ENABLED
labelZh: 谷歌人机验证
label:
en: 'reCAPTCHA Enabled'
zh: '谷歌人机验证'
zh-Hant: 'reCAPTCHA 驗證'
ja: 'reCAPTCHA 有効化'
ko: 'reCAPTCHA 사용'
ru: 'Включить reCAPTCHA'
ms: 'reCAPTCHA diaktifkan'
pt-br: 'reCAPTCHA ativado'
required: true
type: select
values:
- label: 启用
value: "true"
- label: 禁用
value: "false"
- default: Asia/Shanghai
edit: true
envKey: TIME_ZONE
labelEn: Time zone
labelZh: 时区
label:
en: 'Time zone'
zh: '时区'
zh-Hant: '時區'
ja: 'タイムゾーン'
ko: '시간대'
ru: 'Часовой пояс'
ms: 'Zon masa'
pt-br: 'Fuso horário'
required: true
type: text
- default: "noreply@example.com"
edit: true
envKey: APP_SERVICE_AUTHOR
labelEn: Application Service Author
labelZh: 应用服务作者
label:
en: 'Application Service Author'
zh: '应用服务作者'
zh-Hant: '應用服務作者'
ja: 'アプリサービスの作者'
ko: '애플리케이션 서비스 작성자'
ru: 'Автор сервиса приложения'
ms: 'Pengarang perkhidmatan aplikasi'
pt-br: 'Autor do serviço do aplicativo'
required: true
type: text
- default: smtp
edit: true
envKey: MAIL_DRIVER
labelEn: Mail Driver
labelZh: 邮件驱动
label:
en: 'Mail Driver'
zh: '邮件驱动'
zh-Hant: '郵件驅動'
ja: 'メールドライバー'
ko: '메일 드라이버'
ru: 'Драйвер почты'
ms: 'Pemacu e-mel'
pt-br: 'Driver de e-mail'
required: true
type: text
- default: mail
edit: true
envKey: MAIL_HOST
labelEn: Mail Host
labelZh: 邮件主机
label:
en: 'Mail Host'
zh: '邮件服务器'
zh-Hant: '郵件伺服器'
ja: 'メールサーバー'
ko: '메일 서버'
ru: 'Почтовый сервер'
ms: 'Pelayan e-mel'
pt-br: 'Servidor de e-mail'
required: true
type: text
- default: 1025
edit: true
envKey: MAIL_PORT
labelEn: Mail Port
labelZh: 邮件端口
label:
en: 'Mail Port'
zh: '邮件端口'
zh-Hant: '郵件埠'
ja: 'メールポート'
ko: '메일 포트'
ru: 'Почтовый порт'
ms: 'Port mel'
pt-br: 'Porta de e-mail'
required: true
type: text
- default: ''
edit: true
envKey: MAIL_USERNAME
labelEn: Mail Username
labelZh: 邮件用户名
label:
en: 'Mail Username'
zh: '邮件用户名'
zh-Hant: '郵件使用者名稱'
ja: 'メールユーザー名'
ko: '메일 사용자 이름'
ru: 'Имя пользователя почты'
ms: 'Nama pengguna e-mel'
pt-br: 'Nome de usuário do e-mail'
required: false
type: text
- default: ''
edit: true
envKey: MAIL_PASSWORD
labelEn: Mail Password
labelZh: 邮件密码
label:
en: 'Mail Password'
zh: '邮件密码'
zh-Hant: '郵件密碼'
ja: 'メールパスワード'
ko: '메일 비밀번호'
ru: 'Пароль почты'
ms: 'Kata laluan e-mel'
pt-br: 'Senha do e-mail'
required: false
type: password
- default: "true"
edit: true
envKey: MAIL_ENCRYPTION
labelEn: Mail Encryption
labelZh: 邮件加密
label:
en: 'Mail Encryption'
zh: '邮件加密方式'
zh-Hant: '郵件加密方式'
ja: 'メール暗号化方式'
ko: '메일 암호화 방식'
ru: 'Способ шифрования почты'
ms: 'Kaedah penyulitan e-mel'
pt-br: 'Método de criptografia do e-mail'
required: true
type: select
values:
- label: 启用
value: "true"
- label: 禁用
value: "false"
- default: production
edit: true
envKey: APP_ENV
labelEn: Application Environment
labelZh: 应用环境
label:
en: 'Application Environment'
zh: '应用环境'
zh-Hant: '應用環境'
ja: 'アプリ環境'
ko: '애플리케이션 환경'
ru: 'Среда приложения'
ms: 'Persekitaran aplikasi'
pt-br: 'Ambiente do aplicativo'
required: true
type: text
- default: "false"
edit: true
envKey: APP_ENVIRONMENT_ONLY
labelEn: Application Environment Only
labelZh: 仅应用环境
label:
en: 'Application Environment Only'
zh: '仅应用环境'
zh-Hant: '僅應用環境'
ja: 'アプリ環境のみ'
ko: '애플리케이션 환경만'
ru: 'Только среда приложения'
ms: 'Hanya persekitaran aplikasi'
pt-br: 'Apenas ambiente do aplicativo'
required: true
type: select
values:
- label: 启用
value: "true"
- label: 禁用
value: "false"
- default: redis
disabled: true
envKey: CACHE_DRIVER
labelEn: Cache Driver
labelZh: 缓存驱动
label:
en: 'Cache Driver'
zh: '缓存驱动'
zh-Hant: '快取驅動'
ja: 'キャッシュドライバー'
ko: '캐시 드라이버'
ru: 'Драйвер кэша'
ms: 'Pemacu cache'
pt-br: 'Driver de cache'
required: true
type: text
- default: redis
disabled: true
envKey: SESSION_DRIVER
labelEn: Session Driver
labelZh: 会话驱动
label:
en: 'Session Driver'
zh: '会话驱动'
zh-Hant: '工作階段驅動'
ja: 'セッションドライバー'
ko: '세션 드라이버'
ru: 'Драйвер сессии'
ms: 'Pemacu sesi'
pt-br: 'Driver de sessão'
required: true
type: text
- default: redis
disabled: true
envKey: QUEUE_DRIVER
labelEn: Queue Driver
labelZh: 队列驱动
label:
en: 'Queue Driver'
zh: '队列驱动'
zh-Hant: '佇列驅動'
ja: 'キュードライバー'
ko: '큐 드라이버'
ru: 'Драйвер очереди'
ms: 'Pemacu baris gilir'
pt-br: 'Driver de fila'
required: true
type: text
- default: ""
envKey: REDIS_HOST
key: redis
labelEn: Redis Service
labelZh: Redis 服务
label:
en: 'Redis Service'
zh: 'Redis服务'
zh-Hant: 'Redis 服務'
ja: 'Redis サービス'
ko: 'Redis 서비스'
ru: 'Сервис Redis'
ms: 'Perkhidmatan Redis'
pt-br: 'Serviço Redis'
required: true
type: service
- default: ""
envKey: PANEL_REDIS_ROOT_PASSWORD
labelEn: Redis Service Password
labelZh: Redis 服务密码
label:
en: 'Redis Service Password'
zh: 'Redis服务密码'
zh-Hant: 'Redis 服務密碼'
ja: 'Redis サービスパスワード'
ko: 'Redis 서비스 비밀번호'
ru: 'Пароль сервиса Redis'
ms: 'Kata laluan perkhidmatan Redis'
pt-br: 'Senha do serviço Redis'
required: true
type: password
@@ -0,0 +1,54 @@
services:
pterodactyl-china:
image: ghcr.io/pterodactyl-china/panel:v1.15.2.0
command: >
/bin/sh -c "
if [ ! -f /app/var/initialized ]; then
php artisan p:user:make --email=${MAIL_FROM} --username=admin --password=123456 --admin=1 --name-first=admin --name-last=admin;
touch /app/var/initialized;
fi;
supervisord -n -c /etc/supervisord.conf"
container_name: ${CONTAINER_NAME}
environment:
- USER_UID=${USER_UID}
- USER_GID=${USER_GID}
- DB_CONNECTION=mysql
- DB_HOST=${PANEL_DB_HOST}
- DB_PORT=${PANEL_DB_PORT}
- MYSQL_ATTR_SSL_CA=${PANEL_DB_SSL_CA:-}
- DB_DATABASE=${PANEL_DB_NAME}
- DB_USERNAME=${PANEL_DB_USER}
- DB_PASSWORD=${PANEL_DB_USER_PASSWORD}
- APP_URL=${PANEL_APP_URL}
- APP_TIMEZONE=${TIME_ZONE}
- APP_SERVICE_AUTHOR=${APP_SERVICE_AUTHOR}
- MAIL_FROM=${MAIL_FROM}
- MAIL_DRIVER=${MAIL_DRIVER}
- MAIL_HOST=${MAIL_HOST}
- MAIL_PORT=${MAIL_PORT}
- MAIL_USERNAME=${MAIL_USERNAME}
- MAIL_PASSWORD=${MAIL_PASSWORD}
- MAIL_ENCRYPTION=${MAIL_ENCRYPTION}
- APP_ENV=${APP_ENV}
- APP_ENVIRONMENT_ONLY=${APP_ENVIRONMENT_ONLY}
- CACHE_DRIVER=${CACHE_DRIVER}
- SESSION_DRIVER=${SESSION_DRIVER}
- QUEUE_DRIVER=${QUEUE_DRIVER}
- REDIS_HOST=${REDIS_HOST}
- REDIS_PASSWORD=${PANEL_REDIS_ROOT_PASSWORD}
- RECAPTCHA_ENABLED=${PANEL_RECAPTCHA_ENABLED}
restart: always
networks:
- 1panel-network
volumes:
- ./data/var/:/app/var/
- ./data/nginx/:/etc/nginx/http.d/
- ./data/certs/:/etc/letsencrypt/
- ./data/logs/:/app/storage/logs
ports:
- "${PANEL_APP_PORT_HTTP}:80"
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true
+1
View File
@@ -35,6 +35,7 @@
| PANEL_DB_NAME | 数据库名 | pterodactyl | 是 |
| PANEL_DB_USER | 数据库用户 | pterodactyl | 是 |
| PANEL_DB_USER_PASSWORD | 数据库用户密码 | pterodactyl | 是 |
| PANEL_DB_SSL_CA | 可选 MySQL CA 证书路径;证书放在现有 `./data/var/` 挂载目录,并填写容器内路径,例如 `/app/var/mysql-ca.pem`。 | 空 | 否 |
| PANEL_APP_URL | 外部访问地址 | http://localhost:40222 | 是 |
| PANEL_REDIS_DB_HOST | 缓存服务服务 | - | 是 |
| PANEL_REDIS_ROOT_PASSWORD | 缓存服务服务密码 | - | 是 |
@@ -16,6 +16,7 @@ PANEL_DB_HOST="mysql"
PANEL_DB_HOST_NAME="mysql"
PANEL_DB_NAME="pterodactyl_8pn35e"
PANEL_DB_PORT="3306"
PANEL_DB_SSL_CA=""
PANEL_DB_TYPE="mysql"
PANEL_DB_USER="pterodactyl_zmj6mN"
PANEL_DB_USER_PASSWORD="pterodactyl_JX8c5G"
+16
View File
@@ -72,6 +72,22 @@ additionalProperties:
required: true
rule: paramPort
type: number
- default: ""
edit: true
envKey: PANEL_DB_SSL_CA
labelEn: MySQL CA certificate path
labelZh: MySQL CA 证书路径
label:
en: "MySQL CA certificate path"
zh: "MySQL CA 证书路径"
zh-Hant: "MySQL CA 憑證路徑"
ja: "MySQL CA 証明書のパス"
ko: "MySQL CA 인증서 경로"
ru: "Путь к сертификату центра сертификации MySQL"
ms: "Laluan sijil CA MySQL"
pt-br: "Caminho do certificado CA do MySQL"
required: false
type: text
- default: pterodactyl
envKey: PANEL_DB_NAME
labelEn: Database
@@ -15,6 +15,7 @@ services:
- DB_CONNECTION=mysql
- DB_HOST=${PANEL_DB_HOST}
- DB_PORT=${PANEL_DB_PORT}
- MYSQL_ATTR_SSL_CA=${PANEL_DB_SSL_CA:-}
- DB_DATABASE=${PANEL_DB_NAME}
- DB_USERNAME=${PANEL_DB_USER}
- DB_PASSWORD=${PANEL_DB_USER_PASSWORD}