许可与授权状态
GateLLM 在未注入有效授权(LICENSE_KEY)时以免费版运行:单机模式功能完整,但内存上限被压到 512MB,并禁用 Redis / PostgreSQL 等分布式能力。本章解释你会看到什么、受什么限制、如何激活。
跑通 Docker 单机 不需要授权——零配置主路径就是免费版状态,单机教程全流程可正常完成。
未授权时会发生什么
授权状态由启动时是否注入有效 LICENSE_KEY 决定(空 = 未授权 = 免费版)。未授权时,网关在启动期对配置做以下收敛:
| 项目 | 未授权(免费版) | 已授权 |
|---|---|---|
内存上限 MEMORY_SOFT_LIMIT_MB | 封顶 512 MB(配置值大于 512 会被压到 512) | 按配置值,无封顶 |
REDIS_URL | 被清空(禁用) | 按配置启用 |
POSTGRES_URL | 被清空(禁用) | 按配置启用 |
STORAGE_MODE | 强制 sqlite(单机) | 可用 postgresql(多实例) |
| 分布式 / 多实例 | 不可用 | 可用 |
⚠️ 若你在未授权时设了非空
REDIS_URL/POSTGRES_URL(即真正接了 Redis / PostgreSQL),启动会直接失败并报license restriction: this instance is unlicensed and cannot use distributed features...。仅设STORAGE_MODE=postgresql而POSTGRES_URL为空(镜像默认值)时不会失败——license 层会把它降级为sqlite并以 512 MB 上限继续启动。免费版只能单机 sqlite。生产存储选型见 上线检查清单。
控制台横幅
登录控制台后,未授权实例顶部会常驻一条琥珀色横幅(由 /console/api/check-status 返回 valid=false 触发):
- 免费版:
免费版 — 内存上限为 512MB,Redis 和 PostgreSQL 已禁用(仅限单机模式)。请联系提供商激活授权。 - 授权已过期:
授权已过期 — 内存上限为 512MB,Redis 和 PostgreSQL 已禁用(仅限单机模式)。
横幅用琥珀色而非红色——这是软性降级,不是故障。网关照常运行,只是分布式能力被关。
不受影响的部分
免费版(未授权)下,以下功能与已授权一致:
- 单机网关的全部路由、协议互译、负载均衡、访问控制、脚本变换
- 控制台 UI 与管理 API(用户、上游、模型、密钥、日志、统计)
- 文档站本身(本地搜索、深色模式等,与授权无关)
也就是说,单机使用 GateLLM 不需要授权。授权只在你要跑多实例共享状态(Redis + PostgreSQL)时才需要。
如何激活授权
授权 key 是一个 Ed25519 签名的 base64 串(payload||signature),通过环境变量注入:
docker run -e LICENSE_KEY="<你的授权 key>" ghcr.io/gatellm-io/gatellm:latestℹ️ 授权校验仅在镜像以
--build-arg LICENSE_ENABLED=true构建时生效。官方ghcr.io/gatellm-io/gatellm:latest默认开启;自建镜像需确认该 build-arg。注入有效 key 后重启,控制台横幅消失,512MB 与分布式限制解除。官方镜像为 multi-arch(linux/amd64+linux/arm64),tag 语义与钉架构见 镜像 tag 与架构。
获取授权 key 请联系你的部署方或提供商。
控制台授权面板与联网校验
已授权的实例,在 控制台 → 设置 → 系统 可看到「授权」面板:套餐(专业版 / 企业版)、计费周期(月付 / 年付)、内存总额、实例数上限、单实例内存、授权编号,以及上次联网时间与上次结果(有效 / 无效)。
授权不是一次性校验——网关会定期向授权服务器联网复核(正常约每 24 小时一次;校验失败进入降级节奏,约每 30 分钟重试一次):
- 宽限期:某次联网复核判定授权无效(如到期、被吊销)时,网关不会立刻降级,而是进入宽限期(天数由授权服务器下发),面板显示「宽限期 · 剩余 N 天」。宽限期内功能不受影响;宽限耗尽后才降级为免费版(512MB 内存上限、禁用 Redis / PostgreSQL)。看到宽限告警请尽快续费或换用新 key。
- 集群超限:多实例部署下,对账检测到实际实例数或总内存超出授权额度时,面板显示「超限」告警——仅告警、网关继续服务;请缩减实例或联系提供商提升配额。
常见问题
Q:横幅写着"请联系提供商激活授权",我只是调用方怎么办? 这条横幅面向部署 GateLLM 的运维方。如果你只通过网关调模型(调用方),这条横幅不影响你的使用——它只与部署方的多实例/高可用能力有关。联系你的平台运维即可。
Q:免费版能上生产吗? 单机、且内存需求 < 512MB 的场景可以。需要多实例高可用、Redis 共享状态、PostgreSQL 存储的生产部署则需授权。见 做到高可用。
Q:注入 LICENSE_KEY 后反而启动失败了? 注入授权后,license 层不再强制把 STORAGE_MODE 改回 sqlite。若你设了 STORAGE_MODE=postgresql 但没填 POSTGRES_URL,会报 server.postgres_url is required for postgresql storage mode。要么填上 POSTGRES_URL,要么显式设 STORAGE_MODE=sqlite。见 Docker 单机 → 常用环境变量。
