Skip to content

环境变量参考

自动生成说明:本页由 docs-site/scripts/generate-env-vars.mjs.env.example 生成。 修改环境变量说明请编辑 .env.example 中的注释,再运行 pnpm docs:gen-env-vars

数据库 (PostgreSQL)

变量默认值说明
DATABASE_URLpostgresql+asyncpg://user:pass@localhost:5432/annotation异步数据库连接串,格式:postgresql+asyncpg://用户名:密码@主机:端口/数据库名 本地开发可直接使用下方默认值;生产环境请替换为真实凭据

缓存 / 消息队列 (Redis)

变量默认值说明
REDIS_URLredis://localhost:6379/0Redis 连接地址,用于会话缓存、速率限制等 格式:redis://[:密码@]主机:端口/数据库编号

对象存储 (MinIO / S3 兼容)

变量默认值说明
MINIO_ENDPOINTlocalhost:9000MinIO 服务地址(不含协议前缀),Docker 默认 localhost:9000
MINIO_ACCESS_KEYminioadminMinIO 访问密钥(相当于 AWS Access Key ID)
MINIO_SECRET_KEYminioadminMinIO 密钥(相当于 AWS Secret Access Key);生产环境务必更换
MINIO_BUCKETannotations存放标注文件(图片、音频等)的桶名称
ML_BACKEND_STORAGE_HOST172.17.0.1:9000v0.9.4 · ML backend 在 docker compose 网内、平台 api 在 host 进程时, SAM 容器无法 hit host 的 localhost:9000; 设为 docker bridge 网关地址即可。 Linux: 172.17.0.1:9000; macOS/Win Docker Desktop: host.docker.internal:9000; 生产 (api/sam/minio 同 K8s 网) 留空。

v0.9.6 · ML Backend 注册表单 URL 默认值预填 hint (avoid 手敲).

变量默认值说明
ML_BACKEND_DEFAULT_URLhttp://172.17.0.1:8001留空则用前端硬编码默认 http://172.17.0.1:8001; 生产 K8s 同 namespace 时可设为 service DNS, 让运维注册时直接 ready.

v0.10.1 · 单项目 ML backend 数量上限

变量默认值说明
MAX_ML_BACKENDS_PER_PROJECT1单项目最多可绑定的 ML backend 数量上限. DB/API/UI 均按 1:N 设计, 运行时通过此值锁定. 默认 1 防止测试环境同时常驻 grounded-sam2 (~2GB) + sam3 (~7GB) 显存爆炸. 超限时 POST /projects/{id}/ml-backends 返回 409 + detail{code:"ML_BACKEND_LIMIT_REACHED"}. 生产可调大; prompt-routing / fallback 在 v0.11+ 落地.

视频帧服务 (v0.9.25+)

变量默认值说明
VIDEO_CHUNK_SIZE_FRAMES60每个 chunk 包含的帧数。30fps 下默认 60 帧约等于 2 秒。
VIDEO_FRAME_CACHE_TTL_DAYS14单帧 WebP/JPEG 缓存对象未访问多少天后由 Celery beat 清理。
VIDEO_CHUNK_CACHE_TTL_DAYS30视频 chunk 缓存对象未访问多少天后由 Celery beat 清理。
VIDEO_FRAME_MEMORY_CACHE_ITEMS64AI worker 通过内部 frame_service.get_frame_array 读取单帧时的进程内 LRU 上限。
VIDEO_SEGMENT_SIZE_FRAMES18000每个协作 segment 包含的帧数。30fps 下默认 18000 帧约等于 10 分钟。
VIDEO_SEGMENT_LOCK_TTL_SECONDS300segment claim/heartbeat 锁 TTL,单位秒。
VIDEO_TRACKER_WINDOW_SIZE_FRAMES300AI tracker 调 ML Backend 时单次请求最多覆盖的帧数;长区间会由 worker 自动分窗,降低 GPU OOM 风险。
VIDEO_TRACKER_LOW_CONFIDENCE_OUTSIDE_THRESHOLD0.15AI tracker 返回 confidence 低于该阈值时,后端按 outside prediction range 写回而不是生成 keyframe。

认证 / 安全

变量默认值说明
SECRET_KEYchange-this-to-a-random-string-in-productionJWT 签名密钥;生产环境必须替换为高强度随机字符串(≥32 字符)

是否允许开放注册(v0.7.7+;v0.8.1 起可在 SettingsPage > 系统设置 中热更新覆盖)

变量默认值说明
ALLOW_OPEN_REGISTRATIONfalsetrue — 任何人可自行注册,默认获得 viewer 角色 false — 仅管理员可创建账号

Cloudflare Turnstile CAPTCHA(v0.8.7+,防分布式刷号)

变量默认值说明
TURNSTILE_ENABLEDfalsedev/CI 留默认 false;production 放量前在控制台申请 site key + secret key 后启用: https://dash.cloudflare.com/?to=/:account/turnstile 启用后注册(/auth/register-open)与忘记密码(/auth/forgot-password)必须携带 captcha_token, 后端向 challenges.cloudflare.com/turnstile/v0/siteverify 校验失败返 400 captcha_failed。
TURNSTILE_SITE_KEY# 前端 widget 的 sitekey(同时设置 VITE_TURNSTILE_SITE_KEY)
TURNSTILE_SECRET_KEY# 后端 siteverify 用的 secret,绝不可暴露给前端

审计日志冷数据保留月数(v0.8.1+)

变量默认值说明
AUDIT_RETENTION_MONTHS12Celery beat 每月 2 日扫描超期分区,归档为 jsonl.gz 上传 MinIO audit-archive/{YYYY}/{MM}.jsonl.gz, 然后 DROP 该分区。默认 12 个月。

前端

变量默认值说明
VITE_API_URLhttp://localhost:8000前端访问后端 API 的基础 URL(Vite 构建时注入) 本地开发通常为 http://localhost:8000;部署时改为实际域名

错误监控 (Sentry, v0.6.6+)

变量默认值说明
SENTRY_DSN后端 Sentry DSN;留空则禁用后端错误上报
SENTRY_ENVIRONMENTdevelopmentSentry 环境标签,用于区分 development / staging / production
SENTRY_TRACES_SAMPLE_RATE0.1性能追踪采样率,0.0 ~ 1.0(0.1 = 采样 10% 的请求)
VITE_SENTRY_DSN前端 Sentry DSN(Vite 构建时注入);留空则禁用前端错误上报

前端 Turnstile sitekey(v0.8.7+,与 TURNSTILE_SITE_KEY 一致);留空时注册页不渲染 widget。

变量默认值说明
VITE_TURNSTILE_SITE_KEY

跨域 (CORS)

变量默认值说明
CORS_ALLOW_ORIGINS["https://app.example.com","https://admin.example.com"]允许的前端来源列表,支持两种格式: JSON 数组:["https://app.example.com","https://admin.example.com"] 逗号分隔:https://app.example.com,https://admin.example.com production 环境必填;dev/staging 留空则默认放行 localhost 常用端口
CORS_ALLOW_ORIGINShttps://app.example.com,https://admin.example.com

来源正则匹配(仅 dev/staging 生效,production 自动忽略以防误放本机正则上线)

变量默认值说明
CORS_ALLOW_ORIGIN_REGEXhttp://localhost:\d+

Grounded-SAM-2 ML Backend (v0.9.0+, GPU profile)

变量默认值说明
SAM_VARIANTtiny仅当 docker compose --profile gpu up grounded-sam2-backend 时生效. 模型变体 (按精度/显存递增): tiny
DINO_VARIANTTGroundingDINO 变体: T (Swin-T, 默认)
BOX_THRESHOLD0.35DINO 检测阈值; 业务图召回不足可下调到 0.25, 误检多则上调到 0.45.
TEXT_THRESHOLD0.25DINO 文本-标签匹配阈值; 短语 prompt 通常 0.25 即可.
GSAM2_LOG_LEVELINFOBackend 日志级别 (DEBUG / INFO / WARNING).

部署环境

变量默认值说明
ENVIRONMENTdevelopment当前运行环境,影响 CORS 策略、日志级别、调试开关等 可选值:development

Released under the MIT License.