---
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 中,容器重建不丢失
- 无数据库容器