Files
cnphpbb 1155c1b7a0 feat(tokenhub): 添加复用 prod-dbs 的部署配置
- 单容器一体部署(后端 8080 + 管理后台 3000)join prod-dbs_default 直连 prod-postgres
- env.cfg.example 模板与 readme(建库/登录/反向代理/升级备份说明)
2026-09-03 22:23:45 +08:00

86 lines
4.0 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ============================================================
# TokenHub 部署 — 环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值,env.cfg 已在 .gitignore 中忽略
# ============================================================
#
# 使用方式(在 deploy.stack 仓库根目录执行,需先 up prod-dbs):
# cp tokenhub/env.cfg.example tokenhub/env.cfg
# $EDITOR tokenhub/env.cfg # 填入密码/密钥后保存
# docker compose -p tokenhub-host --env-file ./tokenhub/env.cfg -f ./tokenhub/stack.host.yml up -d
#
# 官方镜像:ghcr.io/astaxie/tokenhub-backend(无 Docker Hub 镜像),
# 单镜像内含 Go 后端(:8080) + Next.js 管理后台(:3000)。
# 版本 tag 为纯数字(0.7.0 / 0.7 / latest),建议固定完整版本。
#
# 本方案复用 prod-dbs 的 PostgreSQL(不启动 SQLite 数据卷业务库),
# 需先在 prod-postgres 建库建号(SQL 模板见 tokenhub/readme.md)。
#
# 注意:
# - PostgreSQL 场景 TOKENHUB_SECRET_KEY 必须 ≥32 字节的稳定值,且不可变更;
# - 生产(prod)环境已知占位值(change-me-*)会被按未配置处理;
# - 与 newapi/mixapi 同机时 3000/8080 默认端口会冲突,改下面端口即可。
# ---------- 端口 ----------
# 管理后台宿主机端口(默认 3000,与 newapi/mixapi 冲突)
TOKENHUB_FRONTEND_PORT=3000
# 后端/网关宿主机端口(默认 8080,与同机其他 8080 服务冲突时改)
TOKENHUB_BACKEND_PORT=8080
# ---------- 镜像 ----------
# TokenHub 版本(ghcr.io/astaxie/tokenhub-backend 的纯数字 tag,如 0.7.0/0.7/latest
TOKENHUB_IMAGE_TAG=0.7.0
# ---------- 数据卷 ----------
# 宿主机持久化目录:/data 为应用数据(SQLite 回退/备份/图片),
# releases 为版本面板在线更新与模型目录
# 部署前手动创建:mkdir -pv /data/volumes/tokenhub/{data,releases}
Volumes_Path=/data/volumes/tokenhub
# ---------- 数据库(复用 prod-dbs PostgreSQL----------
# 通过外部网络 prod-dbs_default 以 service 名 postgres 访问
DB_HOST=postgres
DB_PORT=5432
DB_NAME=tokenhub
DB_USER=tokenhub
DB_PASSWORD=<your-strong-password>
# 本机无 TLS 的 PG 用 disable
DB_SSLMODE=disable
# ---------- TokenHub 应用 ----------
# 运行环境(prod
TOKENHUB_ENV=prod
# 初始 admin 密码:≥12 字节;留占位 change-me-* 则首次启动随机生成
TOKENHUB_BOOTSTRAP_ADMIN_PASSWORD=<your-admin-password>
# Admin API 静态 Token:≥32 字节随机值(运维自动化用);留空/占位则禁用该 Token
TOKENHUB_ADMIN_TOKEN=
# 加密根密钥:≥32 字节随机值;PG/已有库必填且不可变更
TOKENHUB_SECRET_KEY=<your-32-byte-random-secret>
# 展示给用户的后端访问地址(反向代理/域名场景填 https://xxxdocs 里 server URL 用它)
TOKENHUB_PUBLIC_BASE_URL=http://localhost:8080
# 管理后台调用后端的地址(与后台页面不同源时按浏览器可访问地址设置)
TOKENHUB_API_BASE_URL=http://localhost:8080
# 允许调用后端的精确浏览器 Origin,逗号分隔(跨源时填写,生产勿用通配符)
TOKENHUB_CORS_ALLOWED_ORIGINS=http://localhost:3000
# 可信反向代理 CIDR(透传 X-Forwarded-* 时填写,逗号分隔)
TOKENHUB_TRUSTED_PROXY_CIDRS=
# 是否写入演示数据
TOKENHUB_SEED_DEMO=false
# ---------- 可选高级项(不填用镜像默认值,见官方 docs/zh-CN/deployment.md----------
# 内网模型服务放行私网 CIDR(RFC1918/ULA,逗号分隔)
# TOKENHUB_PROVIDER_UPSTREAM_ALLOWED_CIDRS=172.22.10.0/24
# 本地 Ollama/LM Studio 放行 loopback(生产勿开)
# TOKENHUB_PROVIDER_UPSTREAM_ALLOW_LOOPBACK=true
# Prometheus 指标
# TOKENHUB_METRICS_ENABLED=true
# TOKENHUB_METRICS_TOKEN=
# OpenTelemetry tracingLangfuse 等)
# TOKENHUB_TRACING_ENABLED=true
# TOKENHUB_TRACING_ENDPOINT=https://<langfuse>/api/public/otel/v1/traces
# 高并发计费准入 Redis(可复用 dbSer Dev-Redis 172.22.10.205
# TOKENHUB_BILLING_REDIS_URL=redis://172.22.10.205:6379/0
# 出站统一代理(Provider 通道)
# HTTP_PROXY=
# HTTPS_PROXY=
# NO_PROXY=