-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
70 lines (63 loc) · 3.83 KB
/
Copy path.env.example
File metadata and controls
70 lines (63 loc) · 3.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# ============================================================
# Smart Router Butler — 环境变量模板
# 复制为 .env 后填入真实值:cp .env.example .env
# ============================================================
#
# 预构建镜像(docker-compose.release.yml):填本仓库在 GitHub 上的用户名或组织名(与 ghcr.io 命名空间一致,小写)
# main 分支 CI 会发布 ghcr.io/<GHCR_OWNER>/smartrouter-{proxy,router,dashboard,router-tester}:latest(router-tester 用独立 compose 部署)
GHCR_OWNER=your-github-username
SMARTROUTER_IMAGE_TAG=latest
#
# 宿主机端口映射默认值见 compose/ports.env(随仓库提交)。
# docker-compose 加载顺序:compose/ports.env → .env(本文件同名变量覆盖前者,CR-DEF-02)。
# 若仅改端口,可在本文件设 PROXY_PORT、DASHBOARD_PORT 等,无需改 compose/ports.env。
# PostgreSQL(以下为本地/Compose 示例占位,勿用于生产)
POSTGRES_USER=postgres
POSTGRES_PASSWORD=changeme
POSTGRES_DB=routerdb
DATABASE_URL=postgresql://postgres:changeme@postgres:5432/routerdb
# Redis
REDIS_URL=redis://redis:6379
# Proxy(容器内监听端口,须与 Proxy Dockerfile/healthcheck 一致;勿与 Dashboard 的 PORT 混淆)
PORT=8080
PYTHON_ROUTER_URL=http://router:8001
# L0.5 语义缓存检查 HTTP 超时(ms),默认 55(ISSUE-V4-03)
SEMANTIC_CACHE_CHECK_TIMEOUT_MS=55
# 可选:关闭 L2/L3 路由(true/false);未设置时读 system_config(ISSUE-V5-09)
# ROUTING_ENABLE_L2=true
# ROUTING_ENABLE_L3=true
# 路由本地 LLM(Ollama):宿主机地址
OLLAMA_URL=http://host.docker.internal:11434
# L3 路由模型(需先在宿主机执行 ollama pull <模型名>)
ARCH_ROUTER_MODEL=fauxpaslife/arch-router:1.5b
ENCRYPTION_KEY=change-me-to-32-bytes-random-key
# Proxy 应用层限流(SEC-003):Redis 滑动窗口,超限返回 429
# RATE_LIMIT_MODELS_MAX=30 # GET /v1/models 每 API Token 每分钟最大请求数
# RATE_LIMIT_MODELS_WINDOW_SEC=60
# RATE_LIMIT_HEALTH_MAX=6 # GET /health 每 IP 每分钟最大请求数
# RATE_LIMIT_HEALTH_WINDOW_SEC=60
# Dashboard(若修改了 DASHBOARD_PORT,此处需同步为 http://localhost:<DASHBOARD_PORT>)
# ⚠️ 必须替换为 32+ 字符随机密钥!生成命令: node -e "console.log(require('crypto').randomBytes(32).toString('base64url'))"
BETTER_AUTH_SECRET=change-me-to-random-secret
# 可选:运维固定 Token;不填时 Dashboard 会为当前登录用户自动创建 ApiToken 并加密存 system_config
INTERNAL_API_TOKEN=
BETTER_AUTH_URL=http://localhost:3000
NEXT_PUBLIC_BETTER_AUTH_URL=http://localhost:3000
# 可选:Token 页推导的 Proxy 根地址(可只写到端口);展示时会自动补全为 OpenAI 兼容 API 根路径 …/v1
NEXT_PUBLIC_PROXY_URL=http://localhost:8080
NEXT_PUBLIC_PROXY_PORT=8080
# 可选:用于「系统设置」中展示本地路由模型(Ollama)状态,Docker 内为 http://router:8001
ROUTER_URL=http://router:8001
# 可选:Dashboard 定时清理 API(POST /api/cron/data-retention)Authorization Bearer
CRON_SECRET=
# Router (Python)
FASTEMBED_MODEL=BAAI/bge-small-zh-v1.5
# Router Tester Web(独立 Compose:docker-compose.router-tester.yml,默认宿主机 3900,见 test-harness/README.md)
# 与 Proxy OpenAI 兼容 API 可用的 Bearer Token 一致(Dashboard 创建的 ApiToken 等)
ROUTER_API_KEY=
# 容器内访问宿主机 Proxy 的基地址(独立部署默认 host.docker.internal;与主栈同机时可改为 http://proxy:8080 并加入同一 network)
# ROUTER_TESTER_ROUTER_BASE_URL=http://host.docker.internal:8080
# Router Tester 宿主机端口(compose 映射到容器 3900;省略则默认 3900)
# ROUTER_TESTER_PORT=3900
# Router Tester Web 控制台数据落盘目录(容器内默认 /app/data,对应 compose 命名卷;本地 node 默认 ./data)
# DATA_DIR=/app/data