Руководство по установке Beszel
Beszel это лёгкий мониторинг серверов: агенты на нодах собирают метрики системы и Docker, а хаб рисует графики, хранит историю и рассылает уведомления. Веб-интерфейс готов из коробки, есть многопользовательский режим и API.
Авторы и проекты
Заголовок раздела «Авторы и проекты»Проект, на котором построено руководство, и автор самой страницы.
Как это работает
Заголовок раздела «Как это работает»Браузер открывает веб-панель хаба по https. Агенты на нодах сами подключаются к хабу на порт 45876: хаб выдаёт им ключ при добавлении, и коннект инициирует именно агент, поэтому на ноде не нужно открывать ничего лишнего, кроме одного порта для IP хаба. Уведомления хаб отправляет вебхуком, например в Telegram.
Установка Beszel Hub
Заголовок раздела «Установка Beszel Hub»-
Создаём директорию для Beszel и открываем
docker-compose.yml:root@server: ~ mkdir /opt/beszel && cd /opt/beszel && nano docker-compose.yml -
Добавляем сервис хаба:
docker-compose.yml services:beszel:image: henrygd/beszelcontainer_name: beszelrestart: alwaysports:- '127.0.0.1:8090:8090'volumes:- ./beszel_data:/beszel_datalogging:driver: 'json-file'options:max-size: '30m'max-file: '5' -
Запускаем хаб:
root@server: ~ cd /opt/beszel && docker compose up -d && docker compose logs -f -
Добавляем Beszel в веб-сервер, чтобы панель открывалась по своему домену:
root@server: ~ cd /opt/remnawave && nano nginx.confnginx.conf upstream beszel {server 127.0.0.1:8090;}server {server_name beszel.yourdomain.com;listen 443 ssl;http2 on;ssl_certificate "/etc/nginx/ssl/yourdomain.com/fullchain.pem";ssl_certificate_key "/etc/nginx/ssl/yourdomain.com/privkey.pem";ssl_trusted_certificate "/etc/nginx/ssl/yourdomain.com/fullchain.pem";location / {proxy_http_version 1.1;proxy_pass http://beszel;proxy_set_header Host $host;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection $connection_upgrade;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Port $server_port;proxy_send_timeout 60s;proxy_read_timeout 60s;}}Перезапускаем nginx:
root@server: ~ cd /opt/remnawave && docker compose down remnawave-nginx && docker compose up -d remnawave-nginx && docker compose logs -f remnawave-nginxroot@server: ~ cd /opt/remnawave && nano CaddyfileДобавляем в конец файла сайт Beszel:
Caddyfile beszel.yourdomain.com {reverse_proxy 127.0.0.1:8090}Сертификат на этот домен Caddy получит сам.
Перезапускаем Caddy:
root@server: ~ cd /opt/remnawave && docker compose restart remnawave-caddy
Не забудьте создать DNS-запись beszel.example.com, указывающую на сервер хаба.
Создание аккаунта
Заголовок раздела «Создание аккаунта»-
Откройте браузер и перейдите по вашему адресу:
root@server: ~ https://beszel.example.com -
Открывается страница создания администратора:

-
Введите адрес электронной почты и сложный пароль.
-
Попадаем в панель управления Beszel:

Добавление агента
Заголовок раздела «Добавление агента»-
Нажимаем
Add System. -
Выбираем способ подключения
Binary. -
Заполняем имя агента и указываем IP-адрес сервера ноды Remnawave. Порт можно оставить стандартный (45876).
-
Нажимаем
Copy Linux commandи получаем команду установки агента. -
Переходим на сервер ноды и выполняем скопированную команду:
root@server: ~ curl -sL https://get.beszel.dev -o /tmp/install-agent.sh && chmod +x /tmp/install-agent.sh && /tmp/install-agent.sh -p 45876 -k "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPW2NUPqCB4pq8oOgEFB9Luqe6oWjEy4bkQV3qcXo3qt" -t "8c9e7262-ced0-4162-bc49-4c985162c22f" -url "https://beszel.example.com" -
Агент установлен:

Файрвол на сервере ноды
Заголовок раздела «Файрвол на сервере ноды»Агент сам инициирует подключение к хабу, но слушающий порт 45876 на ноде должен быть доступен хабу, и только ему.
-
Откройте порт 45876 (TCP) только для IP-адреса сервера хаба (замените
100.88.38.121на актуальный адрес, например адрес в сети NetBird):root@server: ~ ufw allow from 100.88.38.121 to any port 45876 proto tcp -
Перезагрузите файрвол:
root@server: ~ ufw reload -
Подождите пару минут, пока агент подключится к хабу:

Уведомления в Telegram
Заголовок раздела «Уведомления в Telegram»-
Откройте
https://beszel.example.comи войдите с логином и паролем администратора. -
Перейдите в раздел
Settings:
-
Нажмите
Notification:
-
В поле Webhook / Push notifications вставьте ссылку вида:
Webhook / Push notifications telegram://8266662524:AAHruriu0cLDEOlMgfgyrtbn7mJb6Cp4aY@telegram?chats=14656506568266662524:AAHruriu0cLDEOlMgfgyrtbn7mJb6Cp4aYэто токен вашего бота.1465650656это ID чата, куда приходят уведомления. -
Нажмите
Save Settings.
