# 生产部署最低要求

## 部署结构

- PostgreSQL 16 或 17 独立持久化存储。
- FastAPI 仅在内网监听，由 Nginx 反向代理。
- Vue 构建产物由 Nginx 提供，不使用 Vite 开发服务器。
- 对外入口必须启用 HTTPS；Cloudflare Quick Tunnel 仅用于临时演示。

## 必须配置

1. 从 `.env.production.example` 创建 `.env`，替换数据库密码和 `SECRET_KEY`。
2. 首次部署执行 `docker compose up -d --build`。
3. 通过 `/health` 检查后端和数据库连接。
4. 将 `scripts/backup_database.sh` 加入服务器定时任务，并定期执行恢复演练。
5. 防火墙只开放 HTTPS 端口；PostgreSQL 和后端端口不向公网开放。

## 建议服务器

- 试用或小规模：4 核 CPU、8 GB 内存、100 GB SSD。
- 正式多人使用：8 核 CPU、16 GB 内存、200 GB 以上 SSD。
- 数据盘和备份盘分离；至少保留每日备份 30 天。

## 上线检查

- 修改或禁用所有默认账号。
- 验证管理员和普通用户权限边界。
- 执行后端 `pytest`、`ruff check`，前端 `npm run check` 和 `npm audit`。
- 验证备份文件可被 `pg_restore --list` 读取，并至少完成一次隔离环境恢复。
