92 lines
2.3 KiB
YAML
92 lines
2.3 KiB
YAML
# 生产环境配置覆盖
|
|
services:
|
|
qaup-postgres:
|
|
# 生产环境不暴露数据库端口
|
|
ports: []
|
|
# 增强资源配置
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 2G
|
|
cpus: '2.0'
|
|
reservations:
|
|
memory: 1G
|
|
cpus: '1.0'
|
|
# 生产环境日志配置
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "100m"
|
|
max-file: "5"
|
|
|
|
qaup-redis:
|
|
# 生产环境不暴露 Redis 端口
|
|
ports: []
|
|
# 启用持久化
|
|
command: ["redis-server", "--appendonly", "yes", "--maxmemory", "256mb", "--maxmemory-policy", "allkeys-lru"]
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "50m"
|
|
max-file: "3"
|
|
|
|
qaup-app:
|
|
# 生产环境不直接暴露应用端口
|
|
ports: []
|
|
# 生产环境变量
|
|
environment:
|
|
SPRING_PROFILES_ACTIVE: prod
|
|
LOG_PATH: /app/logs
|
|
# 安全配置
|
|
MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE: health,info,metrics
|
|
MANAGEMENT_ENDPOINT_HEALTH_SHOW_DETAILS: when_authorized
|
|
# 性能配置
|
|
JVM_OPTS: -Dname=qaup-admin.jar -Duser.timezone=Asia/Shanghai -server -Xms1g -Xmx2g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:+UseStringDeduplication -XX:+OptimizeStringConcat
|
|
# 增强资源配置
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 3G
|
|
cpus: '2.0'
|
|
reservations:
|
|
memory: 2G
|
|
cpus: '1.5'
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "200m"
|
|
max-file: "10"
|
|
|
|
qaup-nginx:
|
|
# 生产环境端口配置
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
# 生产环境配置
|
|
environment:
|
|
NGINX_PORT: 80
|
|
SERVER_NAME: ${PRODUCTION_DOMAIN:-localhost}
|
|
API_PREFIX: /prod-api
|
|
BACKEND_HOST: qaup-app
|
|
BACKEND_PORT: 8080
|
|
MAX_UPLOAD_SIZE: 50M
|
|
STATIC_CACHE_TIME: 30d
|
|
# SSL 证书挂载(如果需要)
|
|
volumes:
|
|
- nginx_logs:/var/log/nginx
|
|
- nginx_cache:/var/cache/nginx
|
|
- ${SSL_CERT_DIR:-./ssl}:/etc/nginx/ssl:ro
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "100m"
|
|
max-file: "5"
|
|
|
|
# 生产环境网络配置
|
|
networks:
|
|
qaup-network:
|
|
driver: bridge
|
|
ipam:
|
|
config:
|
|
- subnet: 172.30.0.0/16
|