2026-05-18 19:49:31 +08:00
|
|
|
services:
|
|
|
|
|
tenant-service:
|
|
|
|
|
image: ${REGISTRY}/tenant-service:${IMAGE_TAG}
|
|
|
|
|
profiles: ["base"]
|
|
|
|
|
env_file:
|
|
|
|
|
- ./config/xuqm.env
|
|
|
|
|
- ./config/secrets.env
|
|
|
|
|
- ./config/tenant/bootstrap.env
|
2026-05-19 00:13:09 +08:00
|
|
|
environment:
|
|
|
|
|
# Override application.yml hardcoded URLs; these vars take precedence over env_file
|
|
|
|
|
SPRING_DATASOURCE_URL: "jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT:-3306}/${MYSQL_DATABASE:-xuqm_private}?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true"
|
|
|
|
|
SPRING_DATASOURCE_USERNAME: "${MYSQL_USERNAME:-xuqm}"
|
|
|
|
|
SPRING_DATASOURCE_PASSWORD: "${MYSQL_PASSWORD}"
|
|
|
|
|
SPRING_DATA_REDIS_HOST: "${REDIS_HOST}"
|
|
|
|
|
SPRING_DATA_REDIS_PORT: "${REDIS_PORT:-6379}"
|
|
|
|
|
SPRING_DATA_REDIS_PASSWORD: "${REDIS_PASSWORD}"
|
|
|
|
|
SPRING_DATA_REDIS_DATABASE: "${REDIS_DATABASE:-0}"
|
2026-05-18 19:49:31 +08:00
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
|
|
file-service:
|
|
|
|
|
image: ${REGISTRY}/file-service:${IMAGE_TAG}
|
|
|
|
|
profiles: ["base"]
|
|
|
|
|
env_file:
|
|
|
|
|
- ./config/xuqm.env
|
|
|
|
|
- ./config/secrets.env
|
2026-05-19 00:13:09 +08:00
|
|
|
environment:
|
|
|
|
|
SPRING_DATASOURCE_URL: "jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT:-3306}/${MYSQL_DATABASE:-xuqm_private}?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true"
|
|
|
|
|
SPRING_DATASOURCE_USERNAME: "${MYSQL_USERNAME:-xuqm}"
|
|
|
|
|
SPRING_DATASOURCE_PASSWORD: "${MYSQL_PASSWORD}"
|
|
|
|
|
SPRING_DATA_REDIS_HOST: "${REDIS_HOST}"
|
|
|
|
|
SPRING_DATA_REDIS_PORT: "${REDIS_PORT:-6379}"
|
|
|
|
|
SPRING_DATA_REDIS_PASSWORD: "${REDIS_PASSWORD}"
|
|
|
|
|
SPRING_DATA_REDIS_DATABASE: "${REDIS_DATABASE:-0}"
|
2026-05-18 19:49:31 +08:00
|
|
|
volumes:
|
|
|
|
|
- ./data/uploads:/data/uploads
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
|
|
tenant-web:
|
|
|
|
|
image: ${REGISTRY}/tenant-web:${IMAGE_TAG}
|
|
|
|
|
profiles: ["base"]
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
|
|
ops-web:
|
|
|
|
|
image: ${REGISTRY}/ops-web:${IMAGE_TAG}
|
|
|
|
|
profiles: ["base"]
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
|
|
docs-site:
|
|
|
|
|
image: ${REGISTRY}/docs-site:${IMAGE_TAG}
|
|
|
|
|
profiles: ["base"]
|
|
|
|
|
volumes:
|
|
|
|
|
- ./config/docs/docs-runtime.json:/app/config/docs-runtime.json:ro
|
|
|
|
|
- ./config/sdk/xuqm-private-sdk.json:/app/config/xuqm-private-sdk.json:ro
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
|
|
nginx:
|
|
|
|
|
image: nginx:1.27-alpine
|
|
|
|
|
profiles: ["base"]
|
|
|
|
|
ports:
|
|
|
|
|
- "80:80"
|
|
|
|
|
- "443:443"
|
|
|
|
|
volumes:
|
|
|
|
|
- ./config/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
|
|
|
|
|
- ./config/nginx/conf.d:/etc/nginx/conf.d:ro
|
|
|
|
|
depends_on:
|
|
|
|
|
- tenant-service
|
|
|
|
|
- tenant-web
|
|
|
|
|
- ops-web
|
2026-05-19 00:13:09 +08:00
|
|
|
docs-site:
|
|
|
|
|
condition: service_started
|
|
|
|
|
required: false
|
2026-05-18 19:49:31 +08:00
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
|
|
im-service:
|
|
|
|
|
image: ${REGISTRY}/im-service:${IMAGE_TAG}
|
|
|
|
|
profiles: ["im"]
|
|
|
|
|
env_file:
|
|
|
|
|
- ./config/xuqm.env
|
|
|
|
|
- ./config/secrets.env
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
|
|
push-service:
|
|
|
|
|
image: ${REGISTRY}/push-service:${IMAGE_TAG}
|
|
|
|
|
profiles: ["push"]
|
|
|
|
|
env_file:
|
|
|
|
|
- ./config/xuqm.env
|
|
|
|
|
- ./config/secrets.env
|
|
|
|
|
- ./config/vendors/push.env
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
|
|
update-service:
|
|
|
|
|
image: ${REGISTRY}/update-service:${IMAGE_TAG}
|
|
|
|
|
profiles: ["update"]
|
|
|
|
|
env_file:
|
|
|
|
|
- ./config/xuqm.env
|
|
|
|
|
- ./config/secrets.env
|
|
|
|
|
- ./config/vendors/store-submit.env
|
|
|
|
|
volumes:
|
|
|
|
|
- ./data/update:/data/update
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
|
|
license-service:
|
|
|
|
|
image: ${REGISTRY}/license-service:${IMAGE_TAG}
|
|
|
|
|
profiles: ["license"]
|
|
|
|
|
env_file:
|
|
|
|
|
- ./config/xuqm.env
|
|
|
|
|
- ./config/secrets.env
|
|
|
|
|
restart: unless-stopped
|