feat: 移除仓库内 nginx 并拆分前端运行时
This commit is contained in:
@@ -4,20 +4,21 @@
|
||||
- 生产入口:`docker-compose.yaml`
|
||||
- 初始化方式:`docker compose run --rm backend-init`
|
||||
- 启动方式:`docker compose up -d --build`
|
||||
- 对外入口:Nginx 提供前端静态资源,并反代后端 API
|
||||
- 运行拓扑:`frontend`、`backend`、`db`
|
||||
- 对外入口:仓库外部统一反向代理;建议将 `/` 转发到 `frontend`,将 `/api` 与 `/health` 转发到 `backend`
|
||||
- 数据库 schema 来源:Alembic migration,不再依赖 `database/init.sql`
|
||||
- 默认无任何 demo 数据;生产初始化只确保固定管理员 `admin@huapont.cn / admin123` 存在
|
||||
- 验证方式:
|
||||
- `docker compose config`
|
||||
- `curl -i http://127.0.0.1/`
|
||||
- `curl -i http://127.0.0.1/health`
|
||||
- `curl -i http://127.0.0.1:4173/`
|
||||
- `curl -i http://127.0.0.1:8000/health`
|
||||
|
||||
## 腾讯云私有镜像仓库
|
||||
- GitHub Actions 会在推送到 `dev`、`release`、`release/*` 和 `main` 时,通过 SSH 连接腾讯云服务器,在服务器本机完成 `backend` 和 `nginx` 镜像的构建与推送。
|
||||
- 私有仓库地址默认使用 `${REGISTRY_HOST}`,仓库命名为 `${REGISTRY_HOST}/ctms/ctms-backend` 和 `${REGISTRY_HOST}/ctms/ctms-nginx`。
|
||||
- GitHub Actions 会在推送到 `dev`、`release`、`release/*` 和 `main` 时,通过 SSH 连接腾讯云服务器,在服务器本机完成 `backend` 和 `frontend` 镜像的构建与推送。
|
||||
- 私有仓库地址默认使用 `${REGISTRY_HOST}`,仓库命名为 `${REGISTRY_HOST}/ctms/ctms-backend` 和 `${REGISTRY_HOST}/ctms/ctms-frontend`。
|
||||
- `dev` 分支发布 `dev-latest` 和 `dev-<short_sha>`,`release` 分支发布 `rc-release` 和 `rc-<short_sha>`,`release/*` 分支发布 `rc-<release-branch>` 和 `rc-<short_sha>`,`main` 分支发布 `latest` 和 `sha-<short_sha>`。
|
||||
- 部署机需要先 `docker login <IP>:5000`,并使用私有仓库的 `htpasswd` 账号密码完成认证。
|
||||
- `backend-init` 复用 `BACKEND_IMAGE`,所以生产机可在设置 `REGISTRY_HOST`,或直接指定 `BACKEND_IMAGE` 和 `NGINX_IMAGE` 后执行 `docker compose pull && docker compose run --rm backend-init && docker compose up -d`。
|
||||
- `backend-init` 复用 `BACKEND_IMAGE`,所以生产机可在设置 `REGISTRY_HOST`,或直接指定 `BACKEND_IMAGE` 和 `FRONTEND_IMAGE` 后执行 `docker compose pull && docker compose run --rm backend-init && docker compose up -d`。
|
||||
- 本地开发仍可继续使用 `docker compose up -d --build` 走本地构建。
|
||||
|
||||
## 账号与注册
|
||||
@@ -35,8 +36,11 @@
|
||||
- 普通成员(无项目角色):仅浏览
|
||||
|
||||
## 访问方式
|
||||
- 前端:`http://localhost`(Nginx 直接托管前端静态文件)
|
||||
- 后端 API:同域 `/api/v1/*`(已在前端代理)
|
||||
- 前端:`http://localhost:4173`
|
||||
- 后端 API:`http://localhost:8000/api/v1/*`
|
||||
- 生产环境建议通过外部反向代理提供同域访问,前端代码默认请求同域 `/api/v1/*`
|
||||
- 如果本地直接访问 `http://localhost:4173`,可在 `frontend/.env` 中设置 `VITE_API_BASE_URL=http://localhost:8000`,让前端直连后端 API
|
||||
- `docker compose` 本地构建前端容器时,默认会把 `VITE_API_BASE_URL` 注入为 `http://localhost:8000`;如果是生产构建,请显式覆盖为空值或你的正式 API 地址
|
||||
|
||||
## 仓库治理文档
|
||||
- 分支治理规范:`docs/branch-governance.md`
|
||||
|
||||
Reference in New Issue
Block a user