部署
在生产环境跑 ai-cost-gate。
单机 Docker(默认)
对大部分团队来说,单机跑官方 Docker 镜像就是最合适的起点。
docker compose up -d自带的 docker-compose.yml 把 dashboard 暴露在 :3000、代理在 :8080,SQLite 文件持久化在 ./data/,secrets 从 .env 读。
前面挂反向代理
TLS 终止用 nginx 或 Caddy:
# /etc/nginx/sites-available/ai-cost-gate
server {
listen 443 ssl http2;
server_name ai-cost-gate.example.com;
ssl_certificate /etc/letsencrypt/live/ai-cost-gate.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ai-cost-gate.example.com/privkey.pem;
# Dashboard
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
}
# OpenAI 兼容代理
location /v1/ {
proxy_pass http://127.0.0.1:8080/v1/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
}
}备份
整库就是一个 SQLite 文件。备份方式跟备份宿主机磁盘一样。建议:
- 每天夜里
sqlite3 .backup到对象存储。 - 每周一次离线 snapshot。
恢复:停容器、替换 ./data/ai-cost-gate.db、重启容器。
升级
拉新镜像、重启:
docker compose pull
docker compose up -dschema 在启动时自动迁移,没有单独 migration 步骤。同 major 版本内永远可以回滚到旧镜像,不用手工操作。
监控
ai-cost-gate 在 admin 端口(默认 :3000)暴露 /health。已有健康检查直接指向它。深度 metrics 抓 /internal/metrics(Prometheus 格式),需要先设 METRICS_ENABLED=true。
多机
要更高可用,跑两台或多台 ai-cost-gate 指向同一个 SQLite 文件(共享卷)不支持——SQLite + 多写者不行。我们在评估 Postgres 后端,见公开 roadmap。