快速开始
单机生产部署包含一个 SyncTV 进程、一个 PostgreSQL 和一个 Redis。Kubernetes 或多副本部署先完成单机闭环,再进入 Helm 部署 和 集群配置。
- Docker 和 Docker Compose 可用。
- GNU Make 和
openssl可用于生成环境文件。 - 当前目录可以长期保存 Compose 文件、
.env.postgres、.env.redis、.env.synctv和数据卷。 - 已准备 root 用户密码。生产环境使用密码管理器生成。
-
获取生产 Compose 配置:
Terminal window git clone --depth 1 https://github.com/zijiren233/synctv.git synctvcd synctv -
生成
.env.postgres、.env.redis和.env.synctv:Terminal window make compose-init -
编辑
.env.synctv,至少设置 root 密码:SYNCTV_BOOTSTRAP_ROOT_PASSWORD=replace-with-a-strong-password -
检查 Compose 渲染结果:
Terminal window make compose-config -
启动服务:
Terminal window make compose-up
make compose-pscurl -fsS http://localhost:8080/health/ready成功后打开:
http://localhost:8080默认 root 用户名是 root。密码来自 .env.synctv 中的 SYNCTV_BOOTSTRAP_ROOT_PASSWORD。
必须保存的值
Section titled “必须保存的值”| 环境变量 | 用途 |
|---|---|
SYNCTV_JWT_SECRET | 签发 access token、refresh token 和 guest token |
SYNCTV_SECURITY_OPAQUE_SERVER_SETUP_SECRET | OPAQUE 密码认证的服务端长期 secret |
SYNCTV_SECURITY_CREDENTIAL_ENCRYPTION_KEY | 加密 Provider 凭据 |
SYNCTV_BOOTSTRAP_ROOT_PASSWORD | 首次创建 root 用户 |
| 现象 | 处理 |
|---|---|
make compose-config 提示变量缺失 | 运行 make compose-init,并在当前目录保留 .env.postgres、.env.redis 和 .env.synctv。 |
/health/ready 失败 | 运行 make compose-logs SERVICE=synctv,先看第一条启动错误。 |
| 浏览器跨域错误 | 在 .env.synctv 中设置 SYNCTV_SERVER_CORS_ALLOWED_ORIGINS,只填写 origin。 |
| root 用户无法登录 | 确认数据库首次启动时已设置 SYNCTV_BOOTSTRAP_ROOT_PASSWORD,并查看启动日志中的 bootstrap 结果。 |
- 按 生产部署清单 补齐 TLS、备份、metrics 和告警。
- 需要解释 Compose 文件、端口和数据卷时,读 Docker Compose 部署。
- 本地源码开发见 开发指南。