环境变量
列表值应以逗号分隔且不带空格。例如:SENSORS=sensor_1,sensor_2。
中心 (Hub)
环境变量可以选择性地以 BESZEL_HUB_ 作为前缀。
| 名称 | 默认值 | 描述 |
|---|---|---|
APP_URL | 未设置 | Web 界面的 URL。如果 从子路径提供服务,则必须设置。 |
AUTO_LOGIN | 未设置 | 自动认证的用户邮箱。 |
CONTAINER_DETAILS | true | 允许在 Web 界面中查看容器详情(inspect, logs)。 |
CSP | 未设置 | 添加具有此值的 Content-Security-Policy 头。 |
DISABLE_PASSWORD_AUTH | false | 禁用密码认证。 |
MFA_OTP | false | 为用户和/或超级用户启用 OTP 认证。 |
SHARE_ALL_SYSTEMS | false | 允许所有用户访问所有系统。 |
TRUSTED_AUTH_HEADER | 未设置 | 用于转发身份验证的可信头。 |
USER_CREATION | false | 启用 OAuth2 / OIDC 的自动用户创建。 |
USER_EMAIL | 未设置 | 使用此邮箱创建第一个用户。 |
USER_PASSWORD | 未设置 | 使用此密码创建第一个用户。 |
AUTO_LOGIN
不要设置此选项,除非您想要完全绕过身份验证并使用一个用户账户。
DISABLE_PASSWORD_AUTH
这不会完全禁用身份验证。如果您想使用 OAuth 代替密码登录,它会禁用密码登录。
MFA_OTP
如果为 true,将为用户和超级用户启用通过电子邮件一次性密码 (OTP) 的多因素认证 (MFA)。如果设置为 superusers,只有超级用户需要使用 OTP(登录 PocketBase 时)。
除非您已配置 SMTP 服务器,否则不要启用此功能。
SHARE_ALL_SYSTEMS
如果为 true,所有用户都可以看到系统。除非用户被分配了 readonly 角色,否则他们还可以编辑或删除任何系统。
TRUSTED_AUTH_HEADER
除非您正在实现自己的身份验证并希望绕过内置身份验证,否则不要设置此选项。指定的头应包含已认证用户的电子邮件。例如,当使用 Cloudflare Access 时,您可能会设置 TRUSTED_AUTH_HEADER=Cf-Access-Authenticated-User-Email,因为 Cloudflare 使用该头来提供用户电子邮件。
代理 (Agent)
环境变量可以选择性地以 BESZEL_AGENT_ 作为前缀。
| 名称 | 默认值 | 描述 |
|---|---|---|
DATA_DIR | 未设置 | 持久数据目录。 |
DOCKER_HOST | 未设置 | 覆盖 Docker 主机 (docker.sock)。 |
EXTRA_FILESYSTEMS | 未设置 | 如果使用二进制文件,则监控额外的磁盘。请参阅 其他磁盘。 |
FILESYSTEM | 未设置 | 用于根磁盘统计的设备、分区或挂载点。 |
HUB_URL | 未设置 | 中心的 URL。 |
KEY | 未设置 | 用于身份验证的公共 SSH 密钥(可多个)。在中心提供。 |
KEY_FILE | 未设置 | 从文件中读取公钥(可多个),而不是从环境变量中读取。 |
LHM | false | 为 Windows 传感器使用 LibreHardwareMonitor。 |
LISTEN | 45876 | 监听的端口或主机:端口。 |
LOG_LEVEL | info | 日志级别。有效值: "debug", "info", "warn", "error"。 |
MEM_CALC | 未设置 | 覆盖默认内存计算。 |
NETWORK | 未设置 | 监听器的网络类型。"tcp"、"tcp4"、"tcp6" 或 "unix"。 |
NICS | 未设置 | 网络接口的白名单或黑名单。 |
PRIMARY_SENSOR | 未设置 | 在"所有系统"表格中显示的特定温度传感器。 |
SENSORS | 未设置 | 温度传感器的白名单或黑名单。 |
SKIP_GPU | false | 禁用 GPU 监控。 |
SMART_DEVICES | 未设置 | 要监控的 S.M.A.R.T. 设备列表。 |
SYS_SENSORS | 未设置 | 覆盖用于传感器的系统路径。请参阅 #160。 |
SYSTEM_NAME | 未设置 | 在通用令牌注册时覆盖系统名称。未设置时默认为主机名。 |
TOKEN | 未设置 | WebSocket 注册令牌。在中心提供。 |
TOKEN_FILE | 未设置 | 从文件中读取令牌,而不是从环境变量中读取。 |
DATA_DIR
如果未设置,则尝试查找合适的目录。目前仅用于存储系统指纹,但将来可能用于 SQLite 数据库。指纹是确定性的,因此在大多数情况下,如果找不到目录,可以忽略警告。
DOCKER_HOST
如果使用代理,Beszel 只需要访问读取容器信息权限。对于 linuxserver/docker-socket-proxy 您将设置 CONTAINERS=1。
您也可以将其设置为空字符串(DOCKER_HOST="")以完全禁用 Docker 监控。
KEY / KEY_FILE
可以提供多个密钥,只需用换行符分隔。您也可以通过以 # 开头的行添加注释。
LHM
仅限 Windows。代理程序包含 LibreHardwareMonitorLib 用于检测温度传感器。要使用,请设置 LHM=true 并以管理员身份运行代理程序。
LISTEN
主机必须是一个字面量 IP 地址或 Unix 套接字的完整路径。如果是 IPv6 地址,则必须用方括号括起来,例如 [2001:db8::1]:45876。
MEM_CALC
已用内存的默认值基于 gopsutil 的 Used 计算,该计算应该与 free 非常接近。将 MEM_CALC 设置为 htop 以使其与 htop 的计算保持一致。
NETWORK
默认值取决于地址值。如果地址以 / 开头,则视为 Unix 套接字。否则,使用 tcp。
NICS
默认情况下作为白名单处理。可以通过在前面加上 - 作为黑名单使用。
NICS 值 | 模式 | 操作 |
|---|---|---|
foo_* | 白名单 | 只允许匹配 foo_* 的网络接口。 |
foo_1,bar_* | 白名单 | 只允许 foo_1 和 bar_* 网络接口。 |
-foo_* | 黑名单 | 排除匹配 foo_* 的网络接口;允许所有其他。 |
-foo_1,bar_* | 黑名单 | 排除 foo_1 和 bar_*;允许所有其他。 |
"" | 禁用 | 使用空字符串禁用网络监控。 |
PRIMARY_SENSOR
如果未定义特定传感器,则将使用最高温度。
SENSORS
默认情况下作为白名单处理。可以通过在前面加上 - 作为黑名单使用。
SENSORS 值 | 模式 | 操作 |
|---|---|---|
foo_* | 白名单 | 只允许匹配 foo_* 的传感器。 |
foo_1,bar_* | 白名单 | 只允许 foo_1 和 bar_* 传感器。 |
-foo_* | 黑名单 | 排除匹配 foo_* 的传感器;允许所有其他。 |
-foo_1,bar_* | 黑名单 | 排除 foo_1 和 bar_*;允许所有其他。 |
"" | 禁用 | 使用空字符串禁用温度监控。 |
SMART_DEVICES
用于覆盖 smartctl --scan 检测到的设备。每个设备指定为冒号分隔的对,由设备路径和(可选的)设备类型组成。例如:
SMART_DEVICES=/dev/nvme0:nvme,/dev/sda:sat这不需要是完整列表,将与 smartctl --scan 检测到的其他设备合并。
已弃用
这些变量已被弃用,但为了向后兼容性仍会保留。
| 名称 | 默认值 | 描述 |
|---|---|---|
PORT | 45876 | 已重命名为 LISTEN。 |
设置环境变量
Docker
对于 Docker Compose,请在 docker-compose.yml 中使用 environment 或 env_file 属性(说明)。
对于 docker run,请使用 -e、--env 或 --env-file 标志(说明)。
Windows
通过运行以下命令在 NSSM 中编辑服务。在 GUI 中向右滚动以查找环境变量。
nssm edit beszel-agent您也可以直接从命令行更改选项:
nssm set beszel-agent AppEnvironmentExtra "+EXTRA_FILESYSTEMS=D:,E:"完成后重启服务: nssm restart beszel-agent
Homebrew
环境变量可以在 ~/.config/beszel/beszel-agent.env 中更改。
编辑后重启服务: brew services restart beszel-agent
Systemd
服务配置文件通常位于 /etc/systemd/system/beszel-agent.service。在 [Service] 部分中直接编辑环境变量,使用 Environment="KEY=VALUE",或使用 EnvironmentFile=PATH 定义的环境文件。
或者,您可以使用 systemctl edit beszel 或 systemctl edit beszel-agent 创建一个覆盖文件来修改配置(说明)。
编辑服务后,重新加载配置并重启:
sudo systemctl daemon-reload
sudo systemctl restart beszel-agent # 对于 hub 使用 beszel二进制直接执行
将环境变量作为命令行参数包含。例如:MEM_CALC=htop ./beszel-agent。