On-Premises 配置
On-Premises 部署可通过 Docker Compose .env 文件或 Helm values 进行配置,具体取决于控制面的安装方式。
需要查看或自定义生成的部署配置时,请结合 On-Premises 安装 阅读本参考。
这些设置用于配置私有化控制面部署包,与 AISIX 网关运行时环境变量不同。网关运行时变量请参见环境变量。
Docker Compose 环境变量
Docker Compose 部署包会从 ./aisix-self-hosted/.env 读取环境变量。快速开始脚本和离线包会在首次启动时生成该文件,并在后续部署包刷新时保留它。
镜像和发布版本
| 变量 | 作用 |
|---|---|
AISIX_VERSION | 控制面镜像使用的发布版本标签。 |
AISIX_API_IMAGE | cp-api 的可选镜像覆盖项。 |
AISIX_DPM_IMAGE | dp-manager 的可选镜像覆盖项。 |
AISIX_UI_IMAGE | 控制台的可选镜像覆盖项。 |
AISIX_CLOUD_DP_IMAGE | 生成 AISIX Cloud 网关安装片段时展示的 AISIX 网关镜像。 |
数据库
| 变量 | 作用 |
|---|---|
POSTGRES_USER | 随包 PostgreSQL 使用的用户名。 |
POSTGRES_PASSWORD | 随包 PostgreSQL 使 用的密码。请使用强且 URL 安全的值,因为它会嵌入 postgres:// URL。 |
POSTGRES_DB | PostgreSQL 数据库名称。 |
这些变量仅配置随包提供的 PostgreSQL 服务。部署包不会在 .env 中提供外部数据库 URL 覆盖项。控制面必须连接外部 PostgreSQL 数据库时,请使用 Helm 安装。
密钥
| 变量 | 作用 |
|---|---|
AISIX_CLOUD_MASTER_KEY | Base64 编码的 32 字节 AES 密钥,用于信封加密。dp-manager 也会使用同一个值。 |
AISIX_CLOUD_MASTER_KEY_ID | 与加密数据一起存储的标识,用于让控制面识别包装密钥。 |
BETTER_AUTH_SECRET | 控制台身份认证的会话签名密钥。 |
除非正在执行主密钥轮换流程,否则不要修改已有部署中的 AISIX_CLOUD_MASTER_KEY。如果修改时没有保留旧密钥,已加密数据可能无法读取。
运行时 URL
| 变量 | 作用 |
|---|---|
AISIX_CLOUD_PUBLIC_BASE_URL | 面向浏览器的控制面源站,例如 https://aisix.example.com。登录时会根据该值校验会话签发方。 |
AISIX_CLOUD_DPMGR_BASE_URL | AISIX 网关主机可访问的 dp-manager mTLS 端点,可以是 DNS 名 称或 IP 地址。 |
AISIX_CLOUD_DASHBOARD_URL | cp-api 使用的内部控制台 URL。Compose 默认指向 dashboard 服务。 |
AISIX_TRUSTED_ORIGINS | 允许登录的其他浏览器源站,以逗号分隔。公共基础 URL 及其回环对应地址会自动受信任。 |
在将部署暴露到本地主机或容器网络之外前,请设置 AISIX_CLOUD_PUBLIC_BASE_URL 和 AISIX_CLOUD_DPMGR_BASE_URL。
Compose 还会把 AISIX_CLOUD_DPMGR_BASE_URL 传递给 dpm 服务,因为 dp-manager 会为该主机签发 TLS 服务器证书。修改后请重新创建 api 和 dpm。
价格目录
打包的 Docker Compose 文件默认以离线定价模式运行 cp-api。它在 api 服务上把 AISIX_CLOUD_PRICESYNC_SNAPSHOT_PATH 设置为 cp-api 镜像内置的快照,使控制面无需访问 models.dev 即可初始化模型价格。
以下是 docker-compose.yaml 中的服务级设置,不会直接暴露在生成的 .env 文件中:
api 服务设置 | 作用 |
|---|---|
AISIX_CLOUD_PRICESYNC_SNAPSHOT_PATH | 从镜像内快照初始化模型价格,并禁用在线同步。 |
AISIX_CLOUD_PRICESYNC_URL | 在在线定价模式下覆盖 models.dev 目录 URL。 |
如需使用在线定价,请从 api 服务中移除 AISIX_CLOUD_PRICESYNC_SNAPSHOT_PATH。可以选择添加 AISIX_CLOUD_PRICESYNC_URL 指向内部镜 像,然后重新创建该服务。
Playground
| 变量 | 作用 |
|---|---|
AISIX_PLAYGROUND_ALLOW_PRIVATE_IPS | 设置为 1 时,允许控制台 Playground 访问私有、内部或回环地址上的 LLM 端点。该项默认关闭,用作 SSRF 防护;仅在自托管模型位于内网时启用。参见 Playground。 |
通知目标
AISIX_CLOUD_NOTIFY_ALLOW_PRIVATE_URLS 允许 cp-api 向私有、内部或回环地址发送预算通知。该设置默认禁用,以防范 SSRF。随包提供的 Compose 文件不会在生成的 .env 文件中暴露该设置,默认也不会把它传给 cp-api。
要启用私有通知目标,请在 docker-compose.yaml 的 services.api.environment 下添加该设置,然后重新创建 api 服务:
services:
api:
environment:
AISIX_CLOUD_NOTIFY_ALLOW_PRIVATE_URLS: "true"
只有当受信任的 Webhook 接收器或 Slack 代理位于内部网络时才应启用。
控制台和端口
| 变量 | 作用 |
|---|---|
AISIX_DASHBOARD_LOCALE | 部署使用的控制台语言。支持值为 en 和 zh。 |
POSTGRES_HOST_PORT | 随包 PostgreSQL 的宿主机端口绑定。 |
API_HOST_PORT | cp-api 和控制台反向代理的宿主机端口绑定。 |
DPM_HOST_PORT | dp-manager 的宿主机端口绑定。 |
如果某个服务只应绑定到回环地址,请在宿主机端口前添加 127.0.0.1:。