ACG 文档

部署

在生产环境跑 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 -d

schema 在启动时自动迁移,没有单独 migration 步骤。同 major 版本内永远可以回滚到旧镜像,不用手工操作。

监控

ai-cost-gate 在 admin 端口(默认 :3000)暴露 /health。已有健康检查直接指向它。深度 metrics 抓 /internal/metrics(Prometheus 格式),需要先设 METRICS_ENABLED=true

多机

要更高可用,跑两台或多台 ai-cost-gate 指向同一个 SQLite 文件(共享卷)不支持——SQLite + 多写者不行。我们在评估 Postgres 后端,见公开 roadmap。

On this page