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 全部完成)
33 lines
952 B
YAML
33 lines
952 B
YAML
services:
|
|
tts-api:
|
|
build: .
|
|
image: volcano-tts-aggregator:latest
|
|
container_name: tts-api
|
|
ports:
|
|
- "${PORT:-8080}:8080"
|
|
environment:
|
|
# 4 个启动引导 env(仅这 4 个必看)
|
|
# 业务配置(api_key/resource_id/speaker/格式...)通过 WebUI 设置,
|
|
# 存到 /data/tts.db 持久化
|
|
- TTS_ADMIN_KEY=${TTS_ADMIN_KEY:-}
|
|
- TTS_DB_PATH=/data/tts.db
|
|
- PORT=8080
|
|
- OPENAI_TTS_API_KEY=${OPENAI_TTS_API_KEY:-}
|
|
# 可选,装好后也可在 /admin 改
|
|
- TRUSTED_PROXY_HOPS=${TRUSTED_PROXY_HOPS:-}
|
|
volumes:
|
|
# DB + lock 文件必须挂载,否则容器重启后配置全丢
|
|
- tts-data:/data
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
# 用 wget 检查,alpine 镜像有
|
|
test: ["CMD", "wget", "-qO-", "http://localhost:8080/health"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 10s
|
|
|
|
volumes:
|
|
tts-data:
|
|
name: tts-api-data
|