Files
integral-shop/deploy/docker/step1-integral/docker-compose.yml

96 lines
3.1 KiB
YAML
Raw Normal View History

# =============================================================
# 步骤一寄卖商城integral-resell独立部署
# 客户:池州雷蕾商贸 czleilei240
# 包含服务redis · integral-houtai(webman) · integral-h5(Nginx)
# =============================================================
name: resell-czleilei240
x-common: &common
restart: unless-stopped
environment:
TZ: ${TZ:-Asia/Shanghai}
logging:
driver: json-file
options:
max-size: "20m"
max-file: "5"
networks:
integral-net:
driver: bridge
volumes:
integral-redis-data:
integral-runtime:
services:
# ---------- Redis ----------
redis:
<<: *common
build:
context: .
dockerfile: redis.Dockerfile
image: resell-czleilei240/redis:local
container_name: integral-redis
command: ["--requirepass", "${REDIS_PASSWORD}", "--appendonly", "yes"]
volumes:
- integral-redis-data:/data
networks: [integral-net]
healthcheck:
test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD}", "ping"]
interval: 10s
timeout: 3s
retries: 5
# ---------- Webman 后端 ----------
integral-houtai:
<<: *common
build:
context: ../../../integral-resell/houtai
dockerfile: ../../deploy/docker/integral-resell/houtai.Dockerfile
image: resell-czleilei240/houtai:latest
container_name: integral-houtai
networks: [integral-net]
ports:
# 宝塔 Nginx 直连 webman APIwebman.bin 写死监听 8785
- "${RESELL_API_PORT:-18085}:8785"
volumes:
# 整个应用目录挂到宿主机 /www/wwwroot/leileiadmin.czchunfang.com/
# FTP 上传新 webman.bin / public/ 后 docker compose restart integral-houtai 即可生效
- ${RESELL_HOUTAI_DIR}:/app
# .env 单独挂入(覆盖宿主机目录里的 .env避免明文密码出现在 wwwroot
- ./houtai.env:/app/.env:ro
# runtime 使用命名卷(日志/session/pid 不受 FTP 覆盖影响)
- integral-runtime:/app/runtime
depends_on:
redis:
condition: service_healthy
# ---------- H5 静态站 ----------
integral-h5:
<<: *common
build:
context: ../../../integral-resell/h5
dockerfile: ../../deploy/docker/integral-resell/h5.Dockerfile
image: resell-czleilei240/h5:latest
container_name: integral-h5
networks: [integral-net]
environment:
TZ: ${TZ:-Asia/Shanghai}
INTEGRAL_TITLE: ${INTEGRAL_TITLE}
INTEGRAL_API_PUBLIC_URL: ${INTEGRAL_API_PUBLIC_URL}
INTEGRAL_IMG_PUBLIC_URL: ${INTEGRAL_IMG_PUBLIC_URL}
INTEGRAL_H5_PUBLIC_URL: ${INTEGRAL_H5_PUBLIC_URL}
INTEGRAL_SN_ID: ${INTEGRAL_SN_ID}
INTEGRAL_APP_STR: ${INTEGRAL_APP_STR}
INTEGRAL_CONTRACT_PAGE: ${INTEGRAL_CONTRACT_PAGE}
volumes:
# H5 静态文件目录挂到宿主机,手动更新 JS/configs.js 直接生效,无需重建镜像
# 子目录 crmebimage/ 同时由步骤二 Java 后端写入PDF/图片Nginx 直接对外提供访问
- ${RESELL_H5_DIR}:/usr/share/nginx/html
ports:
- "${INTEGRAL_H5_PORT:-18080}:80"
depends_on:
- integral-houtai