文件
tennis-training-hub/docs/deploy.md
2026-03-14 21:45:31 +08:00

1.4 KiB
原始文件 Blame 文件历史

Deployment Guide

Topology

  • 宿主机 nginx负责 te.hao.work 的 TLS、反向代理与大文件上传入口
  • app 容器Node 应用,端口 3000
  • media 容器Go 媒体服务,端口 8081
  • worker 容器Go 媒体归档 worker,共享媒体卷
  • media-data 卷:录制片段、会话状态、归档成片

Required files

  • .env
  • docker-compose.yml
  • deploy/nginx.te.hao.work.conf

Startup

cp .env.example .env
docker compose up -d --build

nginx

deploy/nginx.te.hao.work.conf 放到宿主机 nginx 站点目录,确认:

  • ssl_certificate
  • ssl_certificate_key
  • proxy_pass http://127.0.0.1:3000 对应前端与业务 API
  • proxy_pass http://127.0.0.1:8081 对应媒体服务

启用后重载 nginx

nginx -t
systemctl reload nginx

Health checks

  • curl http://127.0.0.1:3000/api/trpc/auth.me
  • curl http://127.0.0.1:8081/media/health

Persistent data

媒体数据默认位于 Docker volume media-data 下,目录结构:

  • sessions/<session_id>/session.json
  • sessions/<session_id>/segments/*.webm
  • public/sessions/<session_id>/recording.webm
  • public/sessions/<session_id>/recording.mp4

Rollback

  1. 保留 .envmedia-data
  2. 回退 Git 版本
  3. 重新执行 docker compose up -d --build

如果只需停止录制链路,可单独关闭 mediaworker,主站业务仍可继续运行。