Files
track/docker-compose.prod.yml
duxingchen 619f224030 deploy: Track prod 补充 TRACK_WEBHOOK_KEY 验签
- MOM 入库/出库 Webhook 回调鉴权必需,与 MOM 侧 Key 一致
2026-09-01 18:02:38 +08:00

87 lines
2.8 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ============================================================
# 生产流转管理系统 — 生产环境 Docker Compose
# 服务器: 172.16.0.198
# 部署路径: /opt/Track
# 启动: docker compose -f docker-compose.prod.yml up -d --build
# ============================================================
services:
# ============================================================
# PostgreSQL 15 + pgvector
# ============================================================
db:
image: pgvector/pgvector:pg15
container_name: track_db_prod
restart: always
environment:
POSTGRES_USER: track
POSTGRES_PASSWORD: track_prod_2026
POSTGRES_DB: track_production
ports:
- "8012:5432"
volumes:
- track_pgdata_prod:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U track -d track_production"]
interval: 10s
timeout: 5s
retries: 5
# ============================================================
# FastAPI 后端 — gunicorn + uvicorn (生产模式,无热更新)
# ============================================================
backend:
build:
context: ./backend
dockerfile: Dockerfile.dev
container_name: track_backend_prod
restart: always
environment:
DATABASE_URL: postgresql+asyncpg://track:track_prod_2026@track_db_prod:5432/track_production
SECRET_KEY: change-me-in-production-please
DEBUG: "false"
CORS_ORIGINS: '["http://track.iris-rs.cn","http://track_back.iris-rs.cn","http://172.16.0.198:8010","http://172.16.0.198","tauri://localhost"]'
# 🚀 MOM 老系统数据库 — 用户登录验证 + 用户名单来源
MOM_DB_HOST: inventory_db_prod
MOM_DB_PORT: "5432"
# 🚀 MOM 仓储系统 Webhook 验签 Key与 MOM 侧 TRACK_WEBHOOK_KEY 一致,入库/出库回调鉴权必需)
TRACK_WEBHOOK_KEY: 2ce5fedb48fde3fd7e0abf67472a5027b03e9ae6f19cf768
ports:
- "8011:8000"
volumes:
- ./backend:/app
- ./uploads_prod:/app/uploads # 👈 新增这一行!强制隔离上传目录
command: >
sh -c "uvicorn app.main:app --host 0.0.0.0 --port 8000 --workers 4 --log-level info"
depends_on:
db:
condition: service_healthy
networks:
- default
- mom_net
# ============================================================
# React 前端 — Nginx 静态文件服务 (生产模式)
# ============================================================
frontend:
build:
context: ./frontend
dockerfile: Dockerfile.prod
container_name: track_frontend_prod
restart: always
ports:
- "8010:80"
volumes:
- /opt/Track/updates:/usr/share/nginx/html/updates
depends_on:
- backend
networks:
mom_net:
external: true
name: inventory-app_default
volumes:
track_pgdata_prod:
name: track_pgdata_prod