chore: Docker生产部署配置 + 部署脚本
This commit is contained in:
81
docker-compose.prod.yml
Normal file
81
docker-compose.prod.yml
Normal file
@ -0,0 +1,81 @@
|
||||
# ============================================================
|
||||
# 生产流转管理系统 — 生产环境 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://172.16.0.198:8010","https://172.16.0.198:8010","http://172.16.0.198","tauri://localhost"]'
|
||||
# 🚀 MOM 老系统数据库 — 用户登录验证 + 用户名单来源
|
||||
MOM_DB_HOST: inventory_db_prod
|
||||
MOM_DB_PORT: "5432"
|
||||
ports:
|
||||
- "8011:8000"
|
||||
volumes:
|
||||
- ./backend:/app
|
||||
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"
|
||||
depends_on:
|
||||
- backend
|
||||
|
||||
networks:
|
||||
mom_net:
|
||||
external: true
|
||||
name: inventory-app_default
|
||||
|
||||
volumes:
|
||||
track_pgdata_prod:
|
||||
name: track_pgdata_prod
|
||||
Reference in New Issue
Block a user