跳到正文

环境变量

Kiln 支持的全部环境变量,以及各变量的取值、作用和配置优先级。

更新于 Markdown 版本

Kiln 在启动时读取环境变量,运行期间不再重读。除非特别说明,只有非空值才会生效,留空等同未设置。

服务端变量

变量 作用 取值 优先级
KILN_LISTEN 覆盖 server.listen host:port 形式 高于配置文件
KILN_PUBLIC_BASE_URL 覆盖 server.public_base_url 绝对 URL,尾部斜杠会被去掉 高于配置文件
KILN_DATA_DIR 覆盖 server.data_dir 目录路径 高于配置文件
KILN_TOKEN_PRIVATE_KEY 覆盖 auth.token_private_key Ed25519 私钥 PEM 内容 高于配置文件
KILN_TOKEN_PRIVATE_KEY_FILE 覆盖 auth.token_private_key_file 文件路径 高于配置文件
KILN_TOKEN_PUBLIC_KEY 覆盖 auth.token_public_key Ed25519 公钥 PEM 内容 高于配置文件
KILN_TOKEN_PUBLIC_KEY_FILE 覆盖 auth.token_public_key_file 文件路径 高于配置文件
KILN_RESOURCE_MODE 覆盖 server.resource_mode autoperformanceconstrained 高于配置文件
KILN_RESOURCE_MEMORY_MB 覆盖内存探测结果 正整数,单位 MiB 高于自动探测
KILN_RESOURCE_CPUS 覆盖 CPU 探测结果 正整数核数 高于自动探测
KILN_RUNTIME_VARIANT 标记运行时变体 corefull,留空即 standalone 无对应配置键
KILN_LOG_LEVEL 覆盖 logging.level debuginfowarnerror 高于配置文件
KILN_LOG_FORMAT 覆盖 logging.format textjson 高于配置文件
KILN_LOG_COLOR 覆盖 logging.color autoalwaysnever 高于配置文件
KILN_DEFAULT_PACKAGER_ENGINE 提供 packager.engine 的兜底值 autonativeffmpeg 低于配置文件
KILN_PLAY_OPEN 控制 security.play_require_auth 1trueTRUE 关闭鉴权;0falseFALSE 要求鉴权 决定权在环境变量
GOMEMLIMIT Go 运行时软内存上限 Go 运行时接受的大小写法,如 128MiB 始终最优先
GOGC Go 垃圾回收目标百分比 Go 运行时接受的值,如 100off 阻止资源自适应改写 GC 目标
NO_COLOR 关闭日志着色 任意非空值 仅影响 auto 着色

优先级规则

多数变量在配置解析之后、填充默认值之前应用,因此顺序是环境变量 高于 配置文件 高于 内置默认值。以下几项不遵循这个通用顺序。

KILN_DEFAULT_PACKAGER_ENGINE 只在配置未填时生效

它是在填充默认值阶段读取的,且仅当 packager.engine 为空时才被采用;配置里写了任何值,环境变量都不生效。采用之后仍要通过统一校验,取值不在 autonativeffmpeg 之内会导致启动失败。Lite 变体在加载配置之前会把未设置的该变量置为 native,并且拒绝任何非 native 的引擎。

KILN_PLAY_OPEN 覆盖配置里的播放鉴权

环境变量取 1trueTRUE 时把 security.play_require_auth 置为 false,取 0falseFALSE 时置为 true,其余取值不做覆盖。变量未设置时以配置文件为准:play_require_auth 是可选布尔,不写默认要求鉴权,显式写 false 即可关闭。无论走哪条路径,关闭播放鉴权都只适合调试环境。

GOMEMLIMIT 始终压过配置与自动计划

Kiln 只在 server.memory_limit_mb 为正数且 GOMEMLIMIT 未设置时,才主动为 Go 运行时设置软内存上限。只要 GOMEMLIMIT 存在,运行时就以它为准,配置值与资源自适应算出的档位预算都不再改写这项设置。

GOGC 覆盖资源档位的回收目标

未设置 GOGC 时,Kiln 会按资源档位调整 Go 的垃圾回收目标。只要该变量存在,Kiln 就不会再写入档位值,具体行为由 Go 运行时解释。

KILN_RESOURCE_MEMORY_MB 与 KILN_RESOURCE_CPUS 改的是探测值

这两个变量不覆盖任何配置键,而是替换掉资源探测的结果,再由资源自适应据此计算档位。只接受正整数,无法解析、非正数或超出范围的值会被忽略并沿用探测结果。它们适合用在探测不准的宿主机上,或者用来复现某一个档位。server.resource_mode = "performance" 会让自适应整体退出,此时改这两个变量没有意义。

NO_COLOR 只在 auto 模式下起作用

着色策略先看 logging.colorKILN_LOG_COLOR:取 always 时强制着色,此时不再检查 NO_COLOR;取 never 时关闭着色;取 auto(默认)时,只有输出是终端设备且 NO_COLOR 未设置才着色。JSON 格式的日志不着色。

KILN_RUNTIME_VARIANT 只影响自我标识

留空视为 standalonecorefull 是有效值,其它值会在启动日志里打印一条警告并按 standalone 处理。官方容器镜像已经内置了对应取值,通常不需要手动设置。各变体的能力差异见 发行变体

安装脚本变量

安装脚本读取的是另一组变量,只在安装与升级过程中起作用,与服务端运行时无关。

变量 作用
KILN_YES 置为 1 时跳过全部交互确认
KILN_VERSION 指定要安装的版本
KILN_VARIANT 选择 fulllite,其它值报错退出
KILN_INSTALL_DIR 指定安装目录
KILN_MIRROR 指定下载镜像
KILN_NO_MIRROR 置为 1 时禁用镜像
KILN_LANG 强制脚本输出语言
KILN_DRY_RUN 置为 1 时只演示流程,不实际写入

安装脚本同样遵守 NO_COLOR。用法详见 安装脚本

导航

输入以搜索…

↑↓ 移动↵ 打开Esc 关闭