部署 Beszel 把 “小鸡们” 归拢起来

懒得折腾。但还是部署了,因为足够简单、轻量。

01.webp

安装 Beszel 服务端

找一台 Linux 机器安装 Beszel 服务

mkdir -p /opt/service/beszel/ && cd /opt/service/beszel/

编辑

vim /opt/service/beszel/docker-compose.yml

配置内容

配置通常可以直接使用,不用管配置中的 <令牌> 和 <密钥> 值,稍后启动服务后,通过 Console 页面可以获取到 Agent 的 KEY 和 Token

services:
  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 up -d

稍等下请求本地端口

$ curl -I http://localhost:8090

预期打印

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Vary: Origin
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 1; mode=block
Date: Wed, 07 Jan 2026 10:03:22 GMT
Content-Length: 761

安装 Caddy 代理

以往一直使用 Nginx,这还是第一次使用 Caddy,为了 Auto HTTPS 特性。

安装文档:https://caddyserver.com/docs/install

编辑配置文件

vim /etc/caddy/Caddyfile

# 格式化
caddy fmt --overwrite /etc/caddy/Caddyfile

配置内容

beszel.yasking.org {
    reverse_proxy 127.0.0.1:8090
}

校验

sudo caddy validate --config /etc/caddy/Caddyfile

# 重载
sudo systemctl reload caddy

# 查看状态
sudo systemctl status caddy

将域名地址指向服务器 IP,给 DNS 解析生效留点儿时间

而后在服务器上请求验证

curl -I -L --header "Host: beszel.yasking.org" http://localhost

预期输出

HTTP/1.1 308 Permanent Redirect
Connection: close
Location: https://beszel.yasking.org/
Server: Caddy
Date: Wed, 07 Jan 2026 10:09:33 GMT

HTTP/2 200
alt-svc: h3=":443"; ma=2592000
content-type: text/html; charset=utf-8
date: Wed, 07 Jan 2026 10:09:33 GMT
vary: Origin
via: 1.1 Caddy
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
content-length: 761

此时部署完成,可以访问:https://beszel.yasking.org/

添加 Agent

你要监控哪个服务器,就在哪个机器上安装 Agent

添加本机

在部署 Beszel 服务的时候已经同时启动了 Beszel Agent,只是最初的 YAML 配置中 TOKEN 和 KEY 没有设置。

在 Console 上点击「添加客户端」,填入机器名称、主机填写

名称:(自定义名称)
主机:/beszel_socket/beszel.sock(不要修改)

保存后重启服务

$ docker compose up -d

添加其它服务器

也还是点击「添加客户端」

名称:(自定义名称)
主机:11.22.33.44(要监控指标的服务器 IP)

复制 Compose 文件或者 Docker run 命令到要监控指标的服务器上执行。

03.webp

Beszel 效果

页面美观,部署简单、Golang 开发的也足够轻量。

首页

04.webp

详情

05.webp

移动端兼容良好

另外还支持 Webhook 推送告警信息,我暂时不需要就没继续设置了。