# 瑞来兹后端 Docker 编排(Redis 容器内 + MySQL 用外部云库或可选本地库) # 使用: # cp .env.docker.example .env # 编辑 .env 填写 MYSQL_* 与 MYSQL_PASSWORD # docker compose up -d --build # # 健康检查: curl -sS http://127.0.0.1:8039/captchaImage | head -c 120 services: redis: image: redis:7-alpine container_name: rlz-redis restart: unless-stopped command: redis-server --appendonly yes volumes: - rlz-redis-data:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 5 backend: build: context: ./rlz dockerfile: Dockerfile image: rlz-backend:latest container_name: rlz-backend restart: unless-stopped ports: - "${BACKEND_PUBLISH:-8039}:8039" environment: SPRING_PROFILES_ACTIVE: docker SERVER_PORT: "8039" REDIS_HOST: redis REDIS_PORT: "6379" MYSQL_HOST: ${MYSQL_HOST} MYSQL_PORT: ${MYSQL_PORT:-3306} MYSQL_DATABASE: ${MYSQL_DATABASE:-rlz} MYSQL_USER: ${MYSQL_USER:-root} MYSQL_PASSWORD: ${MYSQL_PASSWORD} MYSQL_USE_SSL: ${MYSQL_USE_SSL:-true} RUOYI_PROFILE: /data/ruoyi/upload # 安全配置(生产环境务必设置强随机值) TOKEN_SECRET: ${TOKEN_SECRET} SWAGGER_ENABLED: "false" DRUID_MONITOR_ENABLED: "false" DRUID_ALLOW_IP: "127.0.0.1" DRUID_PASSWORD: ${DRUID_PASSWORD:-} # 微信支付配置(通过 .env 注入) WX_APP_ID: ${WX_APP_ID} WX_SECRET: ${WX_SECRET} WX_MCH_ID: ${WX_MCH_ID} WX_MCH_SERIAL_NO: ${WX_MCH_SERIAL_NO} WX_API_V3_KEY: ${WX_API_V3_KEY} WX_PRIVATE_KEY: ${WX_PRIVATE_KEY} WX_NOTIFY_URL: ${WX_NOTIFY_URL} WX_REFUND_NOTIFY_URL: ${WX_REFUND_NOTIFY_URL} AES_ENCRYPT_KEY: ${AES_ENCRYPT_KEY:-baiyangdianzicom} depends_on: redis: condition: service_healthy volumes: - rlz-upload:/data/ruoyi/upload - rlz-logs:/data/ruoyi/logs volumes: rlz-redis-data: rlz-upload: rlz-logs: