version: '3.8' x-common: database: &db-environment # 不要将下面行尾 "&db-password" 删除,这对面板功能很重要。 MYSQL_PASSWORD: &db-password "CHANGE_ME" MYSQL_ROOT_PASSWORD: "CHANGE_ME_TOO" panel: &panel-environment APP_URL: "http://example.com" # 可以在这里找到有效时区列表:http://php.net/manual/zh/timezones.php APP_TIMEZONE: "Asia/Shanghai" APP_SERVICE_AUTHOR: "noreply@example.com" # 如果您想使用 Let's Encrypt 为面板生成 SSL 证书,请取消下面的注释行并写入配置 # LE_EMAIL: "" mail: &mail-environment MAIL_FROM: "noreply@example.com" MAIL_DRIVER: "smtp" MAIL_HOST: "mail" MAIL_PORT: "1025" MAIL_USERNAME: "" MAIL_PASSWORD: "" MAIL_ENCRYPTION: "true" # # ------------------------------------------------------------------------------------------ # 下面的危险区域 # # 该文件的其余部分可能不需要更改。 请仅在您了解自己在做什么的情况下进行以下修改。 # services: database: image: mariadb:10.5 restart: always command: --default-authentication-plugin=mysql_native_password volumes: - "/srv/pterodactyl/database:/var/lib/mysql" environment: <<: *db-environment MYSQL_DATABASE: "panel" MYSQL_USER: "pterodactyl" cache: image: redis:alpine restart: always panel: image: pterodactylchina/panel:latest restart: always ports: - "80:80" - "443:443" links: - database - cache volumes: - "/srv/pterodactyl/var/:/app/var/" - "/srv/pterodactyl/nginx/:/etc/nginx/http.d/" - "/srv/pterodactyl/certs/:/etc/letsencrypt/" - "/srv/pterodactyl/logs/:/app/storage/logs" environment: <<: [*panel-environment, *mail-environment] DB_PASSWORD: *db-password APP_ENV: "production" APP_ENVIRONMENT_ONLY: "false" CACHE_DRIVER: "redis" SESSION_DRIVER: "redis" QUEUE_DRIVER: "redis" REDIS_HOST: "cache" DB_HOST: "database" DB_PORT: "3306" networks: default: ipam: config: - subnet: 172.20.0.0/16