代理安装 
Beszel 代理支持通过 Docker / Podman、单一二进制文件、Homebrew 包、Scoop 包或 Home Assistant 插件进行安装。
提示
如果您是首次设置 Beszel,请查看 开始使用 指南。
使用中心 (Hub) 
在中心 (hub) 的 Web UI 中提供了可供复制/粘贴的 docker-compose.yml 或二进制安装命令。
点击 添加系统 按钮手动配置代理,或使用通用令牌(/settings/tokens)连接代理,无需提前设置。

Docker 或 Podman 
提示
在添加新系统时,可以从中心 (hub) 的 Web UI 复制预配置的 docker-compose.yml 内容,因此在大多数情况下,您不需要手动进行设置。
services:
  beszel-agent:
    image: henrygd/beszel-agent
    container_name: beszel-agent
    restart: unless-stopped
    network_mode: host
    volumes:
      - ./beszel_agent_data:/var/lib/beszel-agent
      - /var/run/docker.sock:/var/run/docker.sock:ro
      # 通过在 /extra-filesystems 中挂载文件夹来监控其他磁盘/分区
      # - /mnt/disk1/.beszel:/extra-filesystems/disk1:ro
    environment:
      LISTEN: 45876
      KEY: "<公钥>"
      HUB_URL: "http://localhost:8090"
      TOKEN: "<令牌>"docker run -d \
  --name beszel-agent \
  --network host \
  --restart unless-stopped \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  -e KEY="<公钥>" \
  -e LISTEN=45876 \
  henrygd/beszel-agent:latestpodman run -d \
  --name beszel-agent \
  --network host \
  --restart unless-stopped \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  -e KEY="<公钥>" \
  -e LISTEN=45876 \
  docker.io/henrygd/beszel-agent:latest为什么使用主机网络模式? 
代理必须使用主机网络模式才能访问主机的网络接口统计数据。这会自动暴露端口,因此如果需要,请使用环境变量更改端口。
如果您不需要主机网络统计数据,可以从 compose 文件中删除该行并手动映射端口。
连接到本地代理 
连接到本地代理时,localhost 将不起作用,因为容器位于不同的网络中。推荐的连接方式是使用 Unix 套接字。
单击查看完整的 docker-compose.yml 配置,包括本地代理
重要
此配置通常可以直接使用,但在 Web 界面添加系统时需要执行以下步骤:
- 使用您的公钥和令牌更新 
KEY和TOKEN环境变量,然后重新启动代理: 
docker compose up -d- 在 Web 界面中使用 Unix 套接字路径作为 主机/IP:
 
/beszel_socket/beszel.sockservices:
  beszel:
    image: henrygd/beszel:latest
    container_name: beszel
    restart: unless-stopped
    ports:
      - 8090:8090
    volumes:
      - ./beszel_data:/beszel_data
      - ./beszel_socket:/beszel_socket
  beszel-agent:
    image: henrygd/beszel-agent:latest
    container_name: beszel-agent
    restart: unless-stopped
    network_mode: host
    volumes:
      - ./beszel_agent_data:/var/lib/beszel-agent
      - ./beszel_socket:/beszel_socket
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      LISTEN: /beszel_socket/beszel.sock
      HUB_URL: http://localhost:8090
      TOKEN: <令牌>
      KEY: "<密钥>"单击查看运行 docker compose 的说明
注意
如果您更喜欢以不同的方式设置容器,请随意
如果尚未安装,请安装 Docker 和 Docker Compose.
复制
docker-compose.yml内容创建一个目录用于存储
docker-compose.yml文件
mkdir beszel
cd beszel- 创建一个 
docker-compose.yml文件,粘贴内容并保存 
nano docker-compose.ymlvim docker-compose.ymlemacs docker-compose.ymlcode docker-compose.yml- 启动服务
 
docker compose up -d:::
二进制文件 
Beszel 使用纯 Go 编写,如果没有预构建的二进制文件,可以很容易地进行编译(或交叉编译)。
1. 安装脚本 (Linux, FreeBSD) 
需要 root 权限
该脚本需要 root 权限来创建 beszel 用户,并设置服务以确保代理在重启后继续运行。代理进程本身不以 root 身份运行。
该脚本会安装最新的二进制文件,并可选地启用每日自动更新。
-k:公钥(用引号括起来;如果未提供则进入交互模式)-p:端口或地址(默认:45876)-t:令牌(可选,用于向后兼容)-url:中心 URL(可选,用于向后兼容)-v:版本(默认:latest)-u:卸载--auto-update:启用或禁用每日自动更新(如果未提供则进入交互模式)--china-mirrors:使用 GitHub 镜像以解决中国大陆的网络问题-h:显示帮助信息
curl -sL https://get.beszel.dev -o /tmp/install-agent.sh && chmod +x /tmp/install-agent.sh && /tmp/install-agent.sh2. 手动下载和启动 (Linux, FreeBSD, 其他) 
点击展开/收起
下载二进制文件 
从 releases 下载与您的服务器操作系统/架构匹配的最新二进制文件。
curl -sL "https://github.com/henrygd/beszel/releases/latest/download/beszel-agent_$(uname -s)_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/armv6l/arm/' -e 's/armv7l/arm/' -e 's/aarch64/arm64/').tar.gz" | tar -xz -O beszel-agent | tee ./beszel-agent >/dev/null && chmod +x beszel-agent启动代理 
使用 -h 查看所有可用选项。
./beszel-agent -listen "45876" -key "<公钥>"更新代理 
./beszel-agent update创建服务(可选) 
如果您的系统使用 systemd,您可以创建一个服务以使中心在重新启动后继续运行。
- 在 
/etc/systemd/system/beszel-agent.service中创建一个服务文件。 
[Unit]
Description=Beszel Agent Service
After=network-online.target
Wants=network-online.target
[Service]
ExecStart={/path/to/working/directory}/beszel-agent
Environment="LISTEN=$LISTEN"
Environment="KEY=$KEY"
# Environment="EXTRA_FILESYSTEMS=sdb"
Restart=on-failure
RestartSec=5
StateDirectory=beszel-agent
# 安全/沙盒设置
KeyringMode=private
LockPersonality=yes
NoNewPrivileges=yes
PrivateTmp=yes
ProtectClock=yes
ProtectHome=read-only
ProtectHostname=yes
ProtectKernelLogs=yes
ProtectSystem=strict
RemoveIPC=yes
RestrictSUIDSGID=true
[Install]
WantedBy=multi-user.target- 启用并启动服务。
 
sudo systemctl daemon-reload
sudo systemctl enable beszel-agent.service
sudo systemctl start beszel-agent.service3. 手动编译和启动 (任何平台) 
点击展开/收起
编译 
请参阅 编译 了解有关如何自己编译中心的更多信息。
启动代理 
使用 -h 查看所有可用选项。
./beszel-agent -listen "45876" -key "<公钥>"更新代理 
./beszel-agent update创建服务(可选) 
如果您的系统使用 systemd,您可以创建一个服务以使中心在重新启动后继续运行。
- 在 
/etc/systemd/system/beszel-agent.service中创建一个服务文件。 
[Unit]
Description=Beszel Agent Service
After=network-online.target
Wants=network-online.target
[Service]
ExecStart={/path/to/working/directory}/beszel-agent
Environment="LISTEN=$LISTEN"
Environment="KEY=$KEY"
# Environment="EXTRA_FILESYSTEMS=sdb"
Restart=on-failure
RestartSec=5
StateDirectory=beszel-agent
# 安全/沙盒设置
KeyringMode=private
LockPersonality=yes
NoNewPrivileges=yes
ProtectClock=yes
ProtectHome=read-only
ProtectHostname=yes
ProtectKernelLogs=yes
ProtectSystem=strict
RemoveIPC=yes
RestrictSUIDSGID=true
[Install]
WantedBy=multi-user.target- 启用并启动服务。
 
sudo systemctl daemon-reload
sudo systemctl enable beszel-agent.service
sudo systemctl start beszel-agent.serviceHomebrew (macOS, Linux) 
环境变量可以在 ~/.config/beszel/beszel-agent.env 中更改。
日志写入到 ~/.cache/beszel/beszel-agent.log。
Homebrew 安装脚本 
-k:SSH 密钥(如果未提供则进入交互模式)-p:端口(默认:45876)-t:令牌(可选,用于向后兼容)-url:中心 URL(可选,用于向后兼容)-h:显示帮助信息
curl -sL https://get.beszel.dev/brew -o /tmp/install-agent.sh && chmod +x /tmp/install-agent.sh && /tmp/install-agent.shHomebrew 手动安装 
mkdir -p ~/.config/beszel ~/.cache/beszel
echo 'KEY="ssh-ed25519 AAAA..."' > ~/.config/beszel/beszel-agent.env
brew tap henrygd/beszel
brew install beszel-agent
brew services start beszel-agentWinGet / Scoop (Windows) 
下面的脚本会在您已安装的情况下使用 Scoop,否则如果已安装 WinGet 则使用 WinGet。如果两者都不可用,它将同时安装 Scoop 和代理。
它还将安装 NSSM 并创建一个服务,以便在重启后继续运行代理。
-Key:SSH 密钥(如果未提供则进入交互模式)-Port:端口(默认:45876)-Url:中心 URL-Token:令牌-ConfigureFirewall:添加防火墙规则
& iwr -useb https://get.beszel.dev -OutFile "$env:TEMP\install-agent.ps1"; & Powershell -ExecutionPolicy Bypass -File "$env:TEMP\install-agent.ps1"脚本的源代码可在 GitHub 上获取。
社区维护的 GUI 安装程序可在 vmhomelab/beszel-agent-installer 获取,并使用 Chocolatey 来安装代理。
编辑配置 
通过运行以下命令在 NSSM 中编辑服务。在 GUI 中向右滚动以查找环境变量。
nssm edit beszel-agent您也可以直接从命令行更改选项:
nssm set beszel-agent AppEnvironmentExtra "+EXTRA_FILESYSTEMS=D:,E:"完成后重启服务:nssm restart beszel-agent
日志 
日志应写入 C:\ProgramData\beszel-agent\logs。
升级 
Scoop 
nssm stop beszel-agent; & scoop update beszel-agent; & nssm start beszel-agentWinGet 
请参阅 使用 WinGet 升级。
卸载 
Scoop 
nssm stop beszel-agent
nssm remove beszel-agent confirm
scoop uninstall beszel-agentWinGet 
nssm stop beszel-agent
nssm remove beszel-agent confirm
winget uninstall henrygd.beszel-agentHome Assistant 
请参阅 Home Assistant 代理页面 获取将代理设置为 Home Assistant 插件的说明。