chore: set backend default port to 9080

This commit is contained in:
Yoilun
2026-04-27 10:08:36 +08:00
parent d4e351df71
commit 992e243177
6 changed files with 76 additions and 30 deletions

View File

@@ -1,31 +1,51 @@
# Managed Portal
# Managed Portal 管理端
Standalone management portal for:
`managed-portal` 是从原 `video_recognition_local` 项目中拆出的独立管理端,负责管理“被管理服务”和“网页设备”两类能力。它不依赖原 `3000` 端口主项目运行,默认以前端 `13000` 端口对外提供入口,后端默认监听 `9080`
- managed child services
- web device scanning and proxy access
- copied child service source under `managed/`
## 功能范围
## Status
- 被管理服务查看服务列表、服务详情、容器状态、RTSP 配置、重启容器、结果摘要、结果文件预览和下载
- 网页设备:扫描本机所在网段的 80 端口网页设备,生成代理访问地址和直连转发地址
- 子服务源码:已内置 `store_dwell_alert``people_flow_project` 两个子项目源码
This repository is being split out from `video_recognition_local`.
## 目录结构
Current target shape:
```text
managed-portal/
├── cmd/managed-portal/ # Go 后端入口
├── internal/ # Go 后端模块
├── web/ # Vue3 + Element Plus 前端
├── managed/ # 被管理子服务源码
│ ├── store_dwell_alert/
│ └── people_flow_project/
├── deploy/ # Docker Compose 部署文件
├── managed_services.yaml # 被管理服务注册表
└── Dockerfile # 门户后端镜像
```
- backend: Go service on `:8080`
- frontend: Vue 3 + Element Plus
- public entry: `:13000`
## 默认端口
## Planned local commands
- 门户后端:`9080`
- 门户前端:`13000`
- `store-dwell-alert` 子服务 API`18081`
- `people-flow-project` 子服务 API`18082`
Backend:
后端端口可通过环境变量覆盖:
```bash
MANAGED_PORTAL_HTTP_ADDR=:9080
```
## 本机开发
后端:
```bash
go test ./...
go run ./cmd/managed-portal
```
Frontend:
前端:
```bash
cd web
@@ -34,27 +54,53 @@ pnpm dev
pnpm build
```
Docker:
本机开发时,前端默认会把 `/api``/proxy` 代理到 `http://localhost:9080`。如果后端用其他端口启动,可以覆盖:
```bash
VITE_API_PROXY_TARGET=http://127.0.0.1:9080 pnpm dev --host 127.0.0.1 --port 13000
```
## Docker 部署
完整独立栈包含四个服务:
- `managed-portal`
- `managed-portal-web`
- `store-dwell-alert`
- `people-flow-project`
启动:
```bash
cd deploy
docker compose --env-file managed-portal.env up -d --build
```
## Child services
访问:
The child service source is part of this repository:
```text
http://<服务器IP>:13000/
```
- `managed/store_dwell_alert`
- `managed/people_flow_project`
## 模型权重
The default Compose stack builds and starts both child services alongside the portal.
Before building the child service images, provide the runtime weights expected by
their Dockerfiles:
子服务镜像构建前需要以下权重文件:
- `managed/store_dwell_alert/weights/yolo11n.pt`
- `managed/people_flow_project/weights/yolo11n.pt`
- `managed/people_flow_project/weights/deepface/age_model_weights.h5`
- `managed/people_flow_project/weights/deepface/gender_model_weights.h5`
- `managed/people_flow_project/weights/deepface/retinaface.h5`
这些权重文件体积较大,默认被子项目 `.gitignore` 忽略,不会随 Git 提交上传。部署机器上需要提前放到对应路径或通过制品仓库、对象存储、Git LFS 等方式分发。
## 被管理服务注册表
`managed_services.yaml` 描述门户要管理的子服务。Docker Compose 部署时,默认通过容器 DNS 访问:
```yaml
api_base_url: http://store-dwell-alert:18081
api_base_url: http://people-flow-project:18082
```
如果改成本机进程方式运行子服务,可以把地址调整为 `http://127.0.0.1:18081``http://127.0.0.1:18082`