2026-02-27 18:01:17 +08:00
|
|
|
|
# X-Server Mobile 生产环境 Docker Compose
|
2026-02-27 18:21:22 +08:00
|
|
|
|
# 使用方法: docker-compose -f deploy/docker-compose.prod.yml up -d
|
2026-02-27 18:01:17 +08:00
|
|
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
|
# PHP 后端服务
|
|
|
|
|
|
backend:
|
|
|
|
|
|
build:
|
|
|
|
|
|
context: ./backend
|
|
|
|
|
|
dockerfile: Dockerfile.prod
|
|
|
|
|
|
container_name: x-server-backend-prod
|
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
|
ports:
|
|
|
|
|
|
- "8787:8787"
|
|
|
|
|
|
environment:
|
|
|
|
|
|
# 应用环境
|
|
|
|
|
|
- APP_ENV=production
|
|
|
|
|
|
- APP_DEBUG=false
|
|
|
|
|
|
|
2026-02-27 18:21:22 +08:00
|
|
|
|
# 数据库配置(1Panel MySQL)
|
|
|
|
|
|
- DB_HOST=1Panel-mysql-XyxS
|
2026-02-27 18:01:17 +08:00
|
|
|
|
- DB_PORT=3306
|
|
|
|
|
|
- DB_DATABASE=xserver
|
|
|
|
|
|
- DB_USERNAME=xserver
|
2026-02-27 18:21:22 +08:00
|
|
|
|
- DB_PASSWORD=NsNBSQm4b2b7SzhR
|
2026-02-27 18:01:17 +08:00
|
|
|
|
|
2026-02-27 18:21:22 +08:00
|
|
|
|
# Redis 配置(1Panel Redis)
|
|
|
|
|
|
- REDIS_HOST=1Panel-redis-pxdb
|
2026-02-27 18:01:17 +08:00
|
|
|
|
- REDIS_PORT=6379
|
2026-02-27 18:21:22 +08:00
|
|
|
|
- REDIS_PASSWORD=redis_FTzdM6
|
2026-02-27 18:01:17 +08:00
|
|
|
|
|
|
|
|
|
|
# 飞书配置(请替换为实际值)
|
|
|
|
|
|
- FEISHU_APP_ID=${FEISHU_APP_ID}
|
|
|
|
|
|
- FEISHU_APP_SECRET=${FEISHU_APP_SECRET}
|
|
|
|
|
|
- FEISHU_ENCRYPT_KEY=${FEISHU_ENCRYPT_KEY}
|
|
|
|
|
|
- FEISHU_VERIFICATION_TOKEN=${FEISHU_VERIFICATION_TOKEN}
|
|
|
|
|
|
- FEISHU_TENANT_KEY=${FEISHU_TENANT_KEY:-14e7bc0fe5985740}
|
|
|
|
|
|
volumes:
|
|
|
|
|
|
- ./backend:/app
|
|
|
|
|
|
- ./logs/backend:/app/runtime/logs
|
|
|
|
|
|
networks:
|
|
|
|
|
|
- 1panel-network
|
|
|
|
|
|
healthcheck:
|
|
|
|
|
|
test: ["CMD", "php", "-r", "exit(0);"]
|
|
|
|
|
|
interval: 30s
|
|
|
|
|
|
timeout: 10s
|
|
|
|
|
|
retries: 3
|
|
|
|
|
|
start_period: 40s
|
|
|
|
|
|
logging:
|
|
|
|
|
|
driver: "json-file"
|
|
|
|
|
|
options:
|
|
|
|
|
|
max-size: "10m"
|
|
|
|
|
|
max-file: "3"
|
|
|
|
|
|
|
|
|
|
|
|
networks:
|
|
|
|
|
|
1panel-network:
|
|
|
|
|
|
external: true
|