2.5 KiB
2.5 KiB
Deployment Guide
Topology
- 宿主机 nginx:负责
te.hao.work的 TLS、反向代理与大文件上传入口 db容器:MySQL 8,数据持久化到db-datamigrate容器:一次性执行 Drizzle 迁移,成功后退出app容器:Node 应用,端口3000app-worker容器:Node 后台任务 worker,共享应用卷与数据库- 宿主机公开调试端口:
8302 -> app:3000 media容器:Go 媒体服务,端口8081media-worker容器:Go 媒体归档 worker,共享媒体卷app-data卷:上传视频等本地文件存储db-data卷:MySQL 数据目录media-data卷:录制片段、会话状态、归档成片
Required files
.envdocker-compose.ymldeploy/nginx.te.hao.work.conf
Startup
cp .env.example .env
docker compose up -d --build
建议在 .env 中至少设置:
JWT_SECRETMYSQL_PASSWORDMYSQL_ROOT_PASSWORDLLM_API_KEYAPP_PUBLIC_BASE_URLLLM_VISION_MODEL
如需启用独立视觉模型端点,再补:
LLM_VISION_API_URLLLM_VISION_API_KEY
nginx
将 deploy/nginx.te.hao.work.conf 放到宿主机 nginx 站点目录,确认:
ssl_certificatessl_certificate_keyproxy_pass http://127.0.0.1:3002对应前端、业务 API 和/uploads/*proxy_pass http://127.0.0.1:8081对应媒体服务
启用后重载 nginx:
nginx -t
systemctl reload nginx
Health checks
curl http://127.0.0.1:3002/api/trpc/auth.mecurl http://te.hao.work:8302/curl http://127.0.0.1:8081/media/healthdocker compose exec app-worker node dist/worker.js --help不适用;应通过docker compose ps app-worker确认 worker 常驻
External access links
- 主站 HTTPS:
https://te.hao.work/ - 主站公网 4 位端口直连:
http://te.hao.work:8302/
Persistent data
媒体数据默认位于 Docker volume media-data 下,目录结构:
sessions/<session_id>/session.jsonsessions/<session_id>/segments/*.webmpublic/sessions/<session_id>/recording.webmpublic/sessions/<session_id>/recording.mp4
应用本地上传文件默认位于 Docker volume app-data 下的 /data/app/storage。
Rollback
- 保留
.env和media-data - 回退 Git 版本
- 重新执行
docker compose up -d --build
如果只需停止录制链路,可单独关闭 media 与 media-worker,主站业务仍可继续运行;如需暂停训练计划/动作纠正等后台任务,再额外停止 app-worker。