docs(m4): 收敛文档/dock/changelog,env 减到 4 个引导变量

M3 后所有业务配置(api_key/resource_id/speaker/format/sample_rate/...)已搬入
数据库,env 只剩 4 个启动引导参数(setup 前 / DB 还不存在时必需):
  1. TTS_ADMIN_KEY     安装 token(/api/setup 鉴权)
  2. TTS_DB_PATH       DB 路径(可选)
  3. PORT              监听端口(可选)
  4. OPENAI_TTS_API_KEY  OpenAI 端鉴权(可选)

之前 .env.example 仍列出 11 个 BYTEDANCE_TTS_* env,误导用户把配置填 env 里
(实际被 DB 覆盖,改了不生效)。

改:
- .env.example: 只列 4 个 bootstrap env,其他写"通过 WebUI 设置"
- docker-compose.yml: env 块只透传 4 个,加 named volume 持久化 tts.db
  (无 volume = 容器重启丢所有配置)
- Dockerfile: 准备 /data 目录,appuser 可写
- CHANGELOG.md: 新文件,记 v0.2.0 全部 M0-M3 + 这次修复

不动:
- README.md(M4 第 5 步独立 commit,文件大)
- 集成测试(M4 第 6 步)

e2e 验证:
- go build ./... 通过
- 旧 .env 文件如果存在仍然兼容(env var 作为 DB 缺失时的 fallback)

未 push (待 M4 全部完成)
This commit is contained in:
sun
2026-08-30 23:23:53 +08:00
parent 9e38566952
commit 621f9f847e
4 changed files with 97 additions and 73 deletions
+5 -2
View File
@@ -27,13 +27,16 @@ WORKDIR /app
COPY --from=builder /app/tts-api .
# health.html 已通过 //go:embed 嵌入 binary,无需单独复制
RUN chown -R appuser:appgroup /app
# 准备 /data 目录存 SQLite (tts.db + installed.lock)
# appuser 必须可写,否则启动后无法创建 DB
RUN mkdir -p /data \
&& chown -R appuser:appgroup /app /data
USER appuser
EXPOSE 8080
HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 \
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
CMD wget -qO- http://localhost:8080/health || exit 1
ENTRYPOINT ["./tts-api"]