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 全绿。
This commit is contained in:
+11
-3
@@ -13,15 +13,23 @@ services:
|
||||
- TTS_DB_PATH=/data/tts.db
|
||||
- PORT=8080
|
||||
- OPENAI_TTS_API_KEY=${OPENAI_TTS_API_KEY:-}
|
||||
# 可选,装好后也可在 /admin 改
|
||||
# 可选,装好后也可在 /dashboard 改
|
||||
- TRUSTED_PROXY_HOPS=${TRUSTED_PROXY_HOPS:-}
|
||||
# v0.3.0 新增(可选):根路径 /metrics 的内网 CIDR 白名单,逗号分隔。
|
||||
# 不配置时根路径 /metrics 完全不注册(Prometheus 请改用鉴权版 /api/admin/metrics)。
|
||||
# ⚠️ 这里必须填「容器内网网段」,不要填 127.0.0.1/32 ——
|
||||
# 那是容器自身回环,Prometheus 在宿主机/其他容器里根本进不来。
|
||||
# 例:METRICS_ALLOW_CIDR=172.16.0.0/12
|
||||
- METRICS_ALLOW_CIDR=${METRICS_ALLOW_CIDR:-}
|
||||
volumes:
|
||||
# DB + lock 文件必须挂载,否则容器重启后配置全丢
|
||||
- tts-data:/data
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
# 用 wget 检查,alpine 镜像有
|
||||
test: ["CMD", "wget", "-qO-", "http://localhost:8080/health"]
|
||||
# v0.3.0:必须用 /healthz(匿名存活探针)。
|
||||
# /health 现在需要管理凭证,而健康检查不带 Authorization ——
|
||||
# 继续用 /health 会让容器一直被判定为 unhealthy。
|
||||
test: ["CMD", "wget", "-qO-", "http://localhost:8080/healthz"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
|
||||
Reference in New Issue
Block a user