--- doc_id: DOC-TA-001 title: 运行时拓扑 version: 0.1.0 status: reviewed owners: - 林然 upstream: - ./00-technology-selection.md downstream: - ./01-runtime-components.csv - ./02-environments.csv updated_at: 2026-03-23 --- # 运行时拓扑 ## 部署架构 ```mermaid flowchart LR Browser["浏览器
(林然)"] -->|HTTP :80| Nginx["Nginx 容器
静态文件 + 反代"] Nginx -->|/api/* → :8900| Backend["Python 容器
FastAPI + Uvicorn"] Backend -->|File I/O| DesignVol["/mnt/designs
(volume mount)"] Backend -->|File I/O| CodeVol["/mnt/code
(volume mount, Phase 2)"] Backend -->|JSON R/W| Registry["/data/projects.json
(volume mount)"] ``` ## Docker Compose 结构 ```yaml services: frontend: build: ./frontend ports: ["80:80"] # Nginx serve 静态文件 + 反代 /api → backend:8900 backend: build: ./backend expose: ["8900"] volumes: - ${DESIGN_DIRS}:/mnt/designs:rw - ${CODE_DIRS}:/mnt/code:ro # Phase 2 - dashboard-data:/data environment: - REGISTRY_PATH=/data/projects.json volumes: dashboard-data: ``` ## 关键说明 - 前端容器只负责 Nginx,不运行 Node.js - 后端容器通过 volume 访问宿主机的设计文件和代码目录 - 设计文件 volume 是 rw(编辑功能需要写),代码 volume 是 ro - projects.json 放在 named volume 中,容器重建不丢失 - 无数据库容器