version: '3.8' # 君鸿卡管系统生产环境部署配置 # # 配置方式:纯环境变量配置(配置已嵌入二进制文件) # 环境变量前缀:JUNHONG_ # 格式:JUNHONG_{配置路径},路径分隔符用下划线替代点号 # # 示例: # database.host → JUNHONG_DATABASE_HOST # redis.address → JUNHONG_REDIS_ADDRESS # jwt.secret_key → JUNHONG_JWT_SECRET_KEY # # 必填配置(缺失时服务无法启动): # - JUNHONG_DATABASE_HOST # - JUNHONG_DATABASE_PORT # - JUNHONG_DATABASE_USER # - JUNHONG_DATABASE_PASSWORD # - JUNHONG_DATABASE_DBNAME # - JUNHONG_REDIS_ADDRESS # - JUNHONG_JWT_SECRET_KEY # # 可选配置(根据需要启用): # - Gateway 服务配置(JUNHONG_GATEWAY_*) # - 微信公众号配置(JUNHONG_WECHAT_OFFICIAL_ACCOUNT_*) # - 微信支付配置(JUNHONG_WECHAT_PAYMENT_*) # - 对象存储配置(JUNHONG_STORAGE_*) services: api: image: registry.boss160.cn/junhong/cmp-fiber-api:latest container_name: junhong-cmp-api restart: unless-stopped ports: - "3000:3000" environment: # 数据库配置(必填) - JUNHONG_DATABASE_HOST=cxd.whcxd.cn - JUNHONG_DATABASE_PORT=16159 - JUNHONG_DATABASE_USER=erp_pgsql - JUNHONG_DATABASE_PASSWORD=erp_2025 - JUNHONG_DATABASE_DBNAME=junhong_cmp_test - JUNHONG_DATABASE_SSLMODE=disable # Redis 配置(必填) - JUNHONG_REDIS_ADDRESS=cxd.whcxd.cn - JUNHONG_REDIS_PORT=16299 - JUNHONG_REDIS_PASSWORD=cpNbWtAaqgo1YJmbMp3h - JUNHONG_REDIS_DB=6 # JWT 配置(必填) - JUNHONG_JWT_SECRET_KEY=dev-secret-key-for-testing-only-32chars! # 日志配置 - JUNHONG_LOGGING_LEVEL=info - JUNHONG_LOGGING_DEVELOPMENT=false # 对象存储配置 - JUNHONG_STORAGE_PROVIDER=s3 - JUNHONG_STORAGE_S3_ENDPOINT=https://obs-helf.cucloud.cn - JUNHONG_STORAGE_S3_REGION=cn-langfang-2 - JUNHONG_STORAGE_S3_BUCKET=cmp - JUNHONG_STORAGE_S3_ACCESS_KEY_ID=598F558CF6FF46E79D1CFC607852378C9523 - JUNHONG_STORAGE_S3_SECRET_ACCESS_KEY=8393425DCB2F48F1914FF39DCBC6C7B17325 - JUNHONG_STORAGE_S3_USE_SSL=false - JUNHONG_STORAGE_S3_PATH_STYLE=true # Gateway 配置(可选) - JUNHONG_GATEWAY_BASE_URL=https://lplan.whjhft.com/openapi - JUNHONG_GATEWAY_APP_ID=LfjL0WjUqpwkItQ0 - JUNHONG_GATEWAY_APP_SECRET=K0DYuWzbRE6zg5bX - JUNHONG_GATEWAY_TIMEOUT=30 # 微信公众号配置(可选) # - JUNHONG_WECHAT_OFFICIAL_ACCOUNT_APP_ID=your_app_id # - JUNHONG_WECHAT_OFFICIAL_ACCOUNT_APP_SECRET=your_app_secret # - JUNHONG_WECHAT_OFFICIAL_ACCOUNT_TOKEN=your_token # - JUNHONG_WECHAT_OFFICIAL_ACCOUNT_AES_KEY=your_aes_key # - JUNHONG_WECHAT_OFFICIAL_ACCOUNT_OAUTH_REDIRECT_URL=https://your-domain.com/callback # 微信支付配置(可选) # - JUNHONG_WECHAT_PAYMENT_APP_ID=your_app_id # - JUNHONG_WECHAT_PAYMENT_MCH_ID=your_mch_id # - JUNHONG_WECHAT_PAYMENT_API_V3_KEY=your_32_char_api_v3_key # - JUNHONG_WECHAT_PAYMENT_API_V2_KEY=your_api_v2_key # - JUNHONG_WECHAT_PAYMENT_CERT_PATH=/app/certs/apiclient_cert.pem # - JUNHONG_WECHAT_PAYMENT_KEY_PATH=/app/certs/apiclient_key.pem # - JUNHONG_WECHAT_PAYMENT_SERIAL_NO=your_serial_no # - JUNHONG_WECHAT_PAYMENT_NOTIFY_URL=https://your-domain.com/api/callback/wechat-pay # - JUNHONG_WECHAT_PAYMENT_HTTP_DEBUG=false # - JUNHONG_WECHAT_PAYMENT_TIMEOUT=30s volumes: # 仅挂载日志目录(配置已嵌入二进制文件) - ./logs:/app/logs # 微信支付证书目录(如果使用微信支付,需要挂载证书) # - ./certs:/app/certs:ro networks: - junhong-network healthcheck: test: [ "CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://127.0.0.1:3000/health" ] interval: 30s timeout: 3s retries: 3 start_period: 10s logging: driver: "json-file" options: max-size: "10m" max-file: "3" worker: image: registry.boss160.cn/junhong/cmp-fiber-worker:latest container_name: junhong-cmp-worker restart: unless-stopped environment: # 数据库配置(必填) - JUNHONG_DATABASE_HOST=cxd.whcxd.cn - JUNHONG_DATABASE_PORT=16159 - JUNHONG_DATABASE_USER=erp_pgsql - JUNHONG_DATABASE_PASSWORD=erp_2025 - JUNHONG_DATABASE_DBNAME=junhong_cmp_test - JUNHONG_DATABASE_SSLMODE=disable # Redis 配置(必填) - JUNHONG_REDIS_ADDRESS=cxd.whcxd.cn - JUNHONG_REDIS_PORT=16299 - JUNHONG_REDIS_PASSWORD=cpNbWtAaqgo1YJmbMp3h - JUNHONG_REDIS_DB=6 # JWT 配置(必填) - JUNHONG_JWT_SECRET_KEY=dev-secret-key-for-testing-only-32chars! # 日志配置 - JUNHONG_LOGGING_LEVEL=info - JUNHONG_LOGGING_DEVELOPMENT=false # 对象存储配置 - JUNHONG_STORAGE_PROVIDER=s3 - JUNHONG_STORAGE_S3_ENDPOINT=https://obs-helf.cucloud.cn - JUNHONG_STORAGE_S3_REGION=cn-langfang-2 - JUNHONG_STORAGE_S3_BUCKET=cmp - JUNHONG_STORAGE_S3_ACCESS_KEY_ID=598F558CF6FF46E79D1CFC607852378C9523 - JUNHONG_STORAGE_S3_SECRET_ACCESS_KEY=8393425DCB2F48F1914FF39DCBC6C7B17325 - JUNHONG_STORAGE_S3_USE_SSL=false - JUNHONG_STORAGE_S3_PATH_STYLE=true # Gateway 配置(可选) - JUNHONG_GATEWAY_BASE_URL=https://lplan.whjhft.com/openapi - JUNHONG_GATEWAY_APP_ID=60bgt1X8i7AvXqkd - JUNHONG_GATEWAY_APP_SECRET=BZeQttaZQt0i73moF - JUNHONG_GATEWAY_TIMEOUT=30 # 微信公众号配置(可选) # - JUNHONG_WECHAT_OFFICIAL_ACCOUNT_APP_ID=your_app_id # - JUNHONG_WECHAT_OFFICIAL_ACCOUNT_APP_SECRET=your_app_secret # - JUNHONG_WECHAT_OFFICIAL_ACCOUNT_TOKEN=your_token # - JUNHONG_WECHAT_OFFICIAL_ACCOUNT_AES_KEY=your_aes_key # - JUNHONG_WECHAT_OFFICIAL_ACCOUNT_OAUTH_REDIRECT_URL=https://your-domain.com/callback # 微信支付配置(可选) # - JUNHONG_WECHAT_PAYMENT_APP_ID=your_app_id # - JUNHONG_WECHAT_PAYMENT_MCH_ID=your_mch_id # - JUNHONG_WECHAT_PAYMENT_API_V3_KEY=your_32_char_api_v3_key # - JUNHONG_WECHAT_PAYMENT_API_V2_KEY=your_api_v2_key # - JUNHONG_WECHAT_PAYMENT_CERT_PATH=/app/certs/apiclient_cert.pem # - JUNHONG_WECHAT_PAYMENT_KEY_PATH=/app/certs/apiclient_key.pem # - JUNHONG_WECHAT_PAYMENT_SERIAL_NO=your_serial_no # - JUNHONG_WECHAT_PAYMENT_NOTIFY_URL=https://your-domain.com/api/callback/wechat-pay # - JUNHONG_WECHAT_PAYMENT_HTTP_DEBUG=false # - JUNHONG_WECHAT_PAYMENT_TIMEOUT=30s volumes: - ./logs:/app/logs # 微信支付证书目录(如果使用微信支付,需要挂载证书) # - ./certs:/app/certs:ro networks: - junhong-network depends_on: api: condition: service_healthy logging: driver: "json-file" options: max-size: "10m" max-file: "3" networks: junhong-network: driver: bridge