2026-07-30 18:16:57 +08:00
|
|
|
name: firstleg-${DEPLOY_ENV:-test}
|
|
|
|
|
|
|
|
|
|
x-common: &common
|
|
|
|
|
restart: unless-stopped
|
2026-07-30 22:07:34 +08:00
|
|
|
networks: [firstleg-network, infra-network]
|
2026-07-30 23:11:16 +08:00
|
|
|
# 测试机复用宿主机的 MySQL、Redis、Nacos 时,容器通过此别名访问宿主机。
|
|
|
|
|
extra_hosts:
|
|
|
|
|
- "host.docker.internal:host-gateway"
|
2026-07-30 18:16:57 +08:00
|
|
|
environment: &common-environment
|
|
|
|
|
SPRING_PROFILES_ACTIVE: ${SPRING_PROFILES_ACTIVE:-cn}
|
|
|
|
|
NACOS_SERVER_ADDR: ${NACOS_SERVER_ADDR}
|
|
|
|
|
NACOS_USERNAME: ${NACOS_USERNAME}
|
|
|
|
|
NACOS_PASSWORD: ${NACOS_PASSWORD}
|
|
|
|
|
NACOS_GROUP: ${NACOS_GROUP:-BAIYUE}
|
|
|
|
|
NACOS_NAMESPACE: ${NACOS_NAMESPACE:-public}
|
|
|
|
|
REDIS_HOST: ${REDIS_HOST}
|
|
|
|
|
REDIS_PORT: ${REDIS_PORT:-6379}
|
|
|
|
|
REDIS_PASSWORD: ${REDIS_PASSWORD}
|
|
|
|
|
REDIS_DATABASE: ${REDIS_DATABASE:-0}
|
|
|
|
|
JWT_SECRET: ${JWT_SECRET}
|
|
|
|
|
INTERNAL_SERVICE_TOKEN: ${INTERNAL_SERVICE_TOKEN}
|
|
|
|
|
REGION_CODE: ${REGION_CODE:-CN}
|
|
|
|
|
DEPLOYMENT_CELL: ${DEPLOYMENT_CELL:-test-cn}
|
|
|
|
|
DATA_RESIDENCY: ${DATA_RESIDENCY:-CN}
|
2026-07-31 16:53:07 +08:00
|
|
|
LOG_PATH: /app/logs
|
2026-07-30 18:16:57 +08:00
|
|
|
TZ: Asia/Shanghai
|
|
|
|
|
logging:
|
|
|
|
|
driver: json-file
|
|
|
|
|
options:
|
|
|
|
|
max-size: 100m
|
|
|
|
|
max-file: "5"
|
|
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
gateway:
|
|
|
|
|
<<: *common
|
|
|
|
|
image: ${IMAGE_REPOSITORY}/gateway:${IMAGE_TAG}
|
2026-07-30 22:07:34 +08:00
|
|
|
container_name: firstleg-${DEPLOY_ENV:-test}-gateway
|
2026-07-30 18:16:57 +08:00
|
|
|
ports: ["${GATEWAY_PORT:-9000}:9000"]
|
2026-07-31 16:53:07 +08:00
|
|
|
volumes: ["${LOG_ROOT:-/data/logs/baiyue-firstleg}/gateway:/app/logs"]
|
2026-07-30 18:16:57 +08:00
|
|
|
environment:
|
|
|
|
|
<<: *common-environment
|
|
|
|
|
SERVER_PORT: 9000
|
|
|
|
|
SWAGGER_ENABLED: ${SWAGGER_ENABLED:-false}
|
|
|
|
|
CORS_ALLOWED_ORIGINS: ${CORS_ALLOWED_ORIGINS}
|
|
|
|
|
CORS_ALLOW_CREDENTIALS: ${CORS_ALLOW_CREDENTIALS:-false}
|
|
|
|
|
|
|
|
|
|
auth:
|
|
|
|
|
<<: *common
|
|
|
|
|
image: ${IMAGE_REPOSITORY}/auth:${IMAGE_TAG}
|
2026-07-30 22:07:34 +08:00
|
|
|
container_name: firstleg-${DEPLOY_ENV:-test}-auth
|
2026-07-30 18:16:57 +08:00
|
|
|
ports: ["${AUTH_PORT:-9100}:9100"]
|
2026-07-31 16:53:07 +08:00
|
|
|
volumes: ["${LOG_ROOT:-/data/logs/baiyue-firstleg}/auth:/app/logs"]
|
2026-07-30 18:16:57 +08:00
|
|
|
environment:
|
|
|
|
|
<<: *common-environment
|
|
|
|
|
SERVER_PORT: 9100
|
|
|
|
|
AUTH_DB_URL: ${AUTH_DB_URL}
|
|
|
|
|
AUTH_DB_USERNAME: ${AUTH_DB_USERNAME}
|
|
|
|
|
AUTH_DB_PASSWORD: ${AUTH_DB_PASSWORD}
|
|
|
|
|
|
|
|
|
|
iam:
|
|
|
|
|
<<: *common
|
|
|
|
|
image: ${IMAGE_REPOSITORY}/iam:${IMAGE_TAG}
|
2026-07-30 22:07:34 +08:00
|
|
|
container_name: firstleg-${DEPLOY_ENV:-test}-iam
|
2026-07-30 18:16:57 +08:00
|
|
|
ports: ["${IAM_PORT:-9201}:9201"]
|
2026-07-31 16:53:07 +08:00
|
|
|
volumes: ["${LOG_ROOT:-/data/logs/baiyue-firstleg}/iam:/app/logs"]
|
2026-07-30 18:16:57 +08:00
|
|
|
environment:
|
|
|
|
|
<<: *common-environment
|
|
|
|
|
SERVER_PORT: 9201
|
|
|
|
|
IAM_DB_URL: ${IAM_DB_URL}
|
|
|
|
|
IAM_DB_USERNAME: ${IAM_DB_USERNAME}
|
|
|
|
|
IAM_DB_PASSWORD: ${IAM_DB_PASSWORD}
|
|
|
|
|
|
|
|
|
|
firstleg:
|
|
|
|
|
<<: *common
|
|
|
|
|
image: ${IMAGE_REPOSITORY}/firstleg:${IMAGE_TAG}
|
2026-07-30 22:07:34 +08:00
|
|
|
container_name: firstleg-${DEPLOY_ENV:-test}-business
|
2026-07-30 18:16:57 +08:00
|
|
|
ports: ["${FIRSTLEG_PORT:-9202}:9202"]
|
2026-07-31 16:53:07 +08:00
|
|
|
volumes: ["${LOG_ROOT:-/data/logs/baiyue-firstleg}/firstleg:/app/logs"]
|
2026-07-30 18:16:57 +08:00
|
|
|
environment:
|
|
|
|
|
<<: *common-environment
|
|
|
|
|
SERVER_PORT: 9202
|
|
|
|
|
FIRSTLEG_DB_URL: ${FIRSTLEG_DB_URL}
|
|
|
|
|
FIRSTLEG_DB_USERNAME: ${FIRSTLEG_DB_USERNAME}
|
|
|
|
|
FIRSTLEG_DB_PASSWORD: ${FIRSTLEG_DB_PASSWORD}
|
|
|
|
|
|
|
|
|
|
order:
|
|
|
|
|
<<: *common
|
|
|
|
|
image: ${IMAGE_REPOSITORY}/order:${IMAGE_TAG}
|
2026-07-30 22:07:34 +08:00
|
|
|
container_name: firstleg-${DEPLOY_ENV:-test}-order
|
2026-07-30 18:16:57 +08:00
|
|
|
ports: ["${ORDER_PORT:-9204}:9204"]
|
2026-07-31 16:53:07 +08:00
|
|
|
volumes: ["${LOG_ROOT:-/data/logs/baiyue-firstleg}/order:/app/logs"]
|
2026-07-30 18:16:57 +08:00
|
|
|
environment:
|
|
|
|
|
<<: *common-environment
|
|
|
|
|
SERVER_PORT: 9204
|
|
|
|
|
ORDER_DB_URL: ${ORDER_DB_URL}
|
|
|
|
|
ORDER_DB_USERNAME: ${ORDER_DB_USERNAME}
|
|
|
|
|
ORDER_DB_PASSWORD: ${ORDER_DB_PASSWORD}
|
|
|
|
|
|
|
|
|
|
warehouse:
|
|
|
|
|
<<: *common
|
|
|
|
|
image: ${IMAGE_REPOSITORY}/warehouse:${IMAGE_TAG}
|
2026-07-30 22:07:34 +08:00
|
|
|
container_name: firstleg-${DEPLOY_ENV:-test}-warehouse
|
2026-07-30 18:16:57 +08:00
|
|
|
ports: ["${WAREHOUSE_PORT:-9205}:9205"]
|
2026-07-31 16:53:07 +08:00
|
|
|
volumes: ["${LOG_ROOT:-/data/logs/baiyue-firstleg}/warehouse:/app/logs"]
|
2026-07-30 18:16:57 +08:00
|
|
|
environment:
|
|
|
|
|
<<: *common-environment
|
|
|
|
|
SERVER_PORT: 9205
|
|
|
|
|
WAREHOUSE_DB_URL: ${WAREHOUSE_DB_URL}
|
|
|
|
|
WAREHOUSE_DB_USERNAME: ${WAREHOUSE_DB_USERNAME}
|
|
|
|
|
WAREHOUSE_DB_PASSWORD: ${WAREHOUSE_DB_PASSWORD}
|
|
|
|
|
|
|
|
|
|
file:
|
|
|
|
|
<<: *common
|
|
|
|
|
image: ${IMAGE_REPOSITORY}/file:${IMAGE_TAG}
|
2026-07-30 22:07:34 +08:00
|
|
|
container_name: firstleg-${DEPLOY_ENV:-test}-file
|
2026-07-30 18:16:57 +08:00
|
|
|
ports: ["${FILE_PORT:-9206}:9206"]
|
2026-07-31 16:53:07 +08:00
|
|
|
volumes:
|
|
|
|
|
- firstleg-file-data:/data/files
|
|
|
|
|
- "${LOG_ROOT:-/data/logs/baiyue-firstleg}/file:/app/logs"
|
2026-07-30 18:16:57 +08:00
|
|
|
environment:
|
|
|
|
|
<<: *common-environment
|
|
|
|
|
SERVER_PORT: 9206
|
|
|
|
|
FILE_DB_URL: ${FILE_DB_URL}
|
|
|
|
|
FILE_DB_USERNAME: ${FILE_DB_USERNAME}
|
|
|
|
|
FILE_DB_PASSWORD: ${FILE_DB_PASSWORD}
|
|
|
|
|
FILE_STORAGE_ROOT: /data/files
|
|
|
|
|
|
|
|
|
|
print:
|
|
|
|
|
<<: *common
|
|
|
|
|
image: ${IMAGE_REPOSITORY}/print:${IMAGE_TAG}
|
2026-07-30 22:07:34 +08:00
|
|
|
container_name: firstleg-${DEPLOY_ENV:-test}-print
|
2026-07-30 18:16:57 +08:00
|
|
|
ports: ["${PRINT_PORT:-9207}:9207"]
|
2026-07-31 16:53:07 +08:00
|
|
|
volumes: ["${LOG_ROOT:-/data/logs/baiyue-firstleg}/print:/app/logs"]
|
2026-07-30 18:16:57 +08:00
|
|
|
environment:
|
|
|
|
|
<<: *common-environment
|
|
|
|
|
SERVER_PORT: 9207
|
|
|
|
|
PRINT_DB_URL: ${PRINT_DB_URL}
|
|
|
|
|
PRINT_DB_USERNAME: ${PRINT_DB_USERNAME}
|
|
|
|
|
PRINT_DB_PASSWORD: ${PRINT_DB_PASSWORD}
|
|
|
|
|
|
|
|
|
|
integration-service:
|
|
|
|
|
<<: *common
|
|
|
|
|
image: ${IMAGE_REPOSITORY}/integration-service:${IMAGE_TAG}
|
2026-07-30 22:07:34 +08:00
|
|
|
container_name: firstleg-${DEPLOY_ENV:-test}-integration
|
2026-07-30 18:16:57 +08:00
|
|
|
ports: ["${INTEGRATION_PORT:-9210}:9210"]
|
2026-07-31 16:53:07 +08:00
|
|
|
volumes: ["${LOG_ROOT:-/data/logs/baiyue-firstleg}/integration-service:/app/logs"]
|
2026-07-30 18:16:57 +08:00
|
|
|
environment:
|
|
|
|
|
<<: *common-environment
|
|
|
|
|
SERVER_PORT: 9210
|
|
|
|
|
BAIDU_OCR_ENABLED: ${BAIDU_OCR_ENABLED:-false}
|
|
|
|
|
BAIDU_OCR_API_KEY: ${BAIDU_OCR_API_KEY:-}
|
|
|
|
|
BAIDU_OCR_SECRET_KEY: ${BAIDU_OCR_SECRET_KEY:-}
|
|
|
|
|
AMAZON_SP_API_ENABLED: ${AMAZON_SP_API_ENABLED:-false}
|
|
|
|
|
AMAZON_SP_API_CLIENT_ID: ${AMAZON_SP_API_CLIENT_ID:-}
|
|
|
|
|
AMAZON_SP_API_CLIENT_SECRET: ${AMAZON_SP_API_CLIENT_SECRET:-}
|
|
|
|
|
AMAZON_SP_API_REFRESH_TOKEN: ${AMAZON_SP_API_REFRESH_TOKEN:-}
|
|
|
|
|
AMAZON_SP_API_AWS_ACCESS_KEY: ${AMAZON_SP_API_AWS_ACCESS_KEY:-}
|
|
|
|
|
AMAZON_SP_API_AWS_SECRET_KEY: ${AMAZON_SP_API_AWS_SECRET_KEY:-}
|
|
|
|
|
AMAZON_SP_API_REGION: ${AMAZON_SP_API_REGION:-}
|
|
|
|
|
|
|
|
|
|
event-bridge-service:
|
|
|
|
|
<<: *common
|
|
|
|
|
image: ${IMAGE_REPOSITORY}/event-bridge-service:${IMAGE_TAG}
|
2026-07-30 22:07:34 +08:00
|
|
|
container_name: firstleg-${DEPLOY_ENV:-test}-event-bridge
|
2026-07-30 18:16:57 +08:00
|
|
|
ports: ["${EVENT_BRIDGE_PORT:-9300}:9300"]
|
2026-07-31 16:53:07 +08:00
|
|
|
volumes: ["${LOG_ROOT:-/data/logs/baiyue-firstleg}/event-bridge-service:/app/logs"]
|
2026-07-30 18:16:57 +08:00
|
|
|
environment:
|
|
|
|
|
<<: *common-environment
|
|
|
|
|
SERVER_PORT: 9300
|
|
|
|
|
EVENT_BRIDGE_DB_URL: ${EVENT_BRIDGE_DB_URL}
|
|
|
|
|
EVENT_BRIDGE_DB_USERNAME: ${EVENT_BRIDGE_DB_USERNAME}
|
|
|
|
|
EVENT_BRIDGE_DB_PASSWORD: ${EVENT_BRIDGE_DB_PASSWORD}
|
|
|
|
|
|
|
|
|
|
audit-service:
|
|
|
|
|
<<: *common
|
|
|
|
|
image: ${IMAGE_REPOSITORY}/audit-service:${IMAGE_TAG}
|
2026-07-30 22:07:34 +08:00
|
|
|
container_name: firstleg-${DEPLOY_ENV:-test}-audit
|
2026-07-31 11:06:36 +08:00
|
|
|
expose: ["9700"]
|
2026-07-31 16:53:07 +08:00
|
|
|
volumes: ["${LOG_ROOT:-/data/logs/baiyue-firstleg}/audit-service:/app/logs"]
|
2026-07-30 18:16:57 +08:00
|
|
|
environment:
|
|
|
|
|
<<: *common-environment
|
|
|
|
|
SERVER_PORT: 9700
|
|
|
|
|
AUDIT_DB_URL: ${AUDIT_DB_URL}
|
|
|
|
|
AUDIT_DB_USERNAME: ${AUDIT_DB_USERNAME}
|
|
|
|
|
AUDIT_DB_PASSWORD: ${AUDIT_DB_PASSWORD}
|
|
|
|
|
|
|
|
|
|
networks:
|
|
|
|
|
firstleg-network:
|
|
|
|
|
name: firstleg-${DEPLOY_ENV:-test}-network
|
2026-07-30 22:07:34 +08:00
|
|
|
infra-network:
|
|
|
|
|
external: true
|
|
|
|
|
name: ${INFRA_NETWORK:-firstleg-test-infra-network}
|
2026-07-30 18:16:57 +08:00
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
|
firstleg-file-data:
|
|
|
|
|
name: firstleg-${DEPLOY_ENV:-test}-file-data
|