Files
sun f7c7e6ee3a
CI / build-and-test (push) Canceled after 0s
Docker Publish / build-and-push (push) Canceled after 0s
docs: v0.3.0 阶段三 文档、示例配置与发布说明
文档与配置同步 v0.3.0 的破坏性变更:

README.md:
- 特性列表更新:管理入口 /dashboard、凭证分离、默认无匿名监控端点
- 环境变量表补充 METRICS_ALLOW_CIDR,并说明未配任何管理凭证时服务拒绝启动
- 端点文档重写:/healthz(匿名且不含字段)、/health(需鉴权)、
  /metrics(默认 404,两种使用方式)、管理页面与安装页对照表
  (含"页面需鉴权为何又能直接打开"的内容协商说明)
- 公网部署安全清单重写:按端点列出真实暴露面,并提醒探针必须指向 /healthz
- 故障排查、架构表、迁移表中的 /admin 引用统一改为 /dashboard

.env.example:新增 METRICS_ALLOW_CIDR 与 admin_key 说明(含 Docker 网段警告)。

两处部署陷阱修复(阶段一给 /health 加鉴权引发的连带问题):
- docker-compose.yml 的 healthcheck 原指向 /health,加鉴权后会一律 401,
  导致容器被判定为 unhealthy → 改为 /healthz
- Dockerfile 的 HEALTHCHECK 同样指向 /health → 改为 /healthz
  (这两处若不改,升级后容器健康状态会持续异常,且现象与鉴权改动看起来无关,排查成本高)

新增 docs/RELEASE_NOTES_v0.3.0.md:可直接用于创建 Release,
含 Breaking Change 清单、新特性、验证方式与实测结果、升级步骤。

docs/IMPLEMENT_v0.3.0.md:
- 按合并后的阶段编号重写实施进度表与阶段标题
  (原「阶段 1 收紧鉴权」与「阶段 2 收口端点」合并为「阶段 1」,后续顺延),
  并说明合并原因:两者只做前者是"有风险无收益"
- 记录本轮实际验证结果

验证:go build / go vet / go test ./... -count=1 全绿。
2026-10-04 01:17:43 +08:00

54 lines
2.4 KiB
Bash

# 字节火山引擎 TTS v3 → OpenAI 兼容接口
# 配置文件示例 · 复制为 .env 后填入
# ==========================================
# 启动引导环境变量(4 个,启动前必看)
# ==========================================
# 业务配置(api_key / resource_id / speaker / 格式 / 采样率 ...)通过 WebUI 设置,
# 不再需要在这里配。M3 起所有 BYTEDANCE_TTS_* 已搬入数据库。
# 1. 安装 token(必设,首次 /setup 时校验)
# 留空 = 不设 token,任何人可调 /api/setup(适合本地开发)
# 正式部署务必设复杂字符串
TTS_ADMIN_KEY=
# 2. 数据库路径(可选, 默认 ./tts.db)
# Docker 部署务必改成挂载路径,例: /data/tts.db
# TTS_DB_PATH=/data/tts.db
# 3. 服务监听端口(可选, 默认 8080)
PORT=8080
# 4. OpenAI 兼容接口的鉴权 key(可选)
# 不设 = 不鉴权,任何人能调 /v1/audio/speech(适合内网/反代后)
# 多个 key 用逗号分隔
# 公网部署必设,见 README "公网部署安全清单"
OPENAI_TTS_API_KEY=
# ==========================================
# 装完后可改(也支持环境变量作为 DB 缺失时的 fallback)
# ==========================================
# X-Forwarded-For 解析跳数(可选, 0=启发式默认, N>0=精确 N 跳反代)
# 装好后推荐到 /dashboard 改 trusted_proxy_hops
# TRUSTED_PROXY_HOPS=2
# ==========================================
# v0.3.0 新增
# ==========================================
# 根路径 /metrics 的内网 CIDR 白名单(可选, 逗号分隔, 也接受裸 IP)
# - 不配置:根路径 /metrics 完全不注册(访问 404)。
# Prometheus 请改用鉴权版 /api/admin/metrics 并带 Bearer 凭证。
# - 配置后:根路径 /metrics 仅对白名单来源开放,非白名单返回 404。
# ⚠️ Docker 部署必须填「容器内网网段」,不要填 127.0.0.1/32 ——
# 那是容器自身回环,宿主机/其他容器里的 Prometheus 进不来。
# 例:
# METRICS_ALLOW_CIDR=10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
# 管理后台专用凭证(可选)
# - 不配置:管理接口回退使用 DB 里的 auth_key(即 OPENAI_TTS_API_KEY 那套),行为与旧版一致。
# - 配置后:管理后台/管理接口只认这个 key,业务调用方拿到的 auth_key 无法访问管理接口。
# 建议通过 WebUI 配置(/dashboard → 设置),不必写在这里;此处仅作说明。
# 对应 DB 设置项:admin_key