Проверен полностью26 494

Мониторинг

Beszel

Beszel собирает показатели CPU, памяти, дисков и сети через лёгкие агенты и хранит историю в локальной панели. Рецепт центрального сервера создаёт закрытого администратора при первом запуске, отключает самостоятельную регистрацию и сохраняет аккаунты, метрики и SSH-ключ в одном резервируемом томе.

Вместо Netdata CloudMITВерсия 0.21.1

Обзор

Beszel хранит компактную историю ресурсов серверов: CPU, RAM, swap, заполнение дисков и трафик. Агенты передают измерения; центральная панель сохраняет аккаунты, права, настройки оповещений и историю в локальных SQLite-базах. Подойдёт домашним серверам и небольшой инфраструктуре.

Рецепт устанавливает центральный сервер, а не агенты на всех машинах. Добавляйте системы через интерфейс и устанавливайте соответствующий фиксированный образ агента на каждую из них. Интеграции Docker, GPU, SMART, ZFS и systemd требуют отдельных прав и настройки. Smoke запускает настоящий изолированный агент без host networking и Docker socket; показания относятся к тестовому окружению.

При новой базе сервер создаёт администратора приложения и суперпользователя PocketBase из заданных email/пароля. Самостоятельная регистрация закрыта. OIDC, MFA по email-OTP и вход по доверенному заголовку поддерживаются upstream, но рецептом не настроены. Для email-OTP нужен SMTP.

Веб-интерфейс встроен. Клиенты Android/iOS и macOS, перечисленные в официальной документации, — независимые сторонние проекты; здесь они не проверены. Перед подключением изучите лицензии и обращение с учётными данными.

Для пользователей Netdata Cloud Beszel покрывает локальную панель ресурсов и историю. Возможности наблюдения и интеграции отличаются; экономия без проверенных актуальных цен не заявляется.

Оценка безопасности (2026-10-24): loopback HTTP, процесс без root, корневая ФС только для чтения, закрытая регистрация и отсутствие доступа к хосту/Docker. Отдельно защищайте SSH-ключ панели, интерфейс PocketBase и каждый агент. Это разбор конфигурации, а не скан уязвимостей.

Источники: установка панели, агенты, переменные, безопасность, OIDC, мобильные клиенты, десктоп.

Отслеживание обновлений

Это сохранённые результаты отдельных проверок, а не данные в реальном времени. Неизвестный статус означает, что проверка ещё не выполнялась.

Новые релизы

Сравнение версии рецепта с последним известным релизом upstream. Это номер версии, а не разбор изменений.

Актуальная версия 0.21.124 окт. 2026 г., 09:32 UTC

Критические уязвимости

Результат отдельного сканирования Docker-образов, а не проверки Compose.

Не провереноПроверка не выполнялась

Несовместимые обновления

Новый major находится сравнением номеров версий. Вердикт о совместимости заносится вручную после чтения release notes и порядка миграции.

Не провереноПроверка не выполнялась

compose.yaml

Изменения upstream Compose относительно проверенного рецепта.

Upstream Compose не отслеживаетсяПроверка не выполнялась

Устаревшие Docker-образы

Проверка закреплённых тегов образов на наличие новых версий.

Не провереноПроверка не выполнялась

От наблюдения к действию

План обновления

Рецепт уже закрепляет последний известный релиз. Ниже показаны сохранённые основания для этой версии.

0.21.10.21.1
  1. Открыть основания релиза

    Открыть релиз на GitHub ↗ Ссылка нужна для ревизии и сама по себе не доказывает совместимость.

  2. Проверить границу версий

    Номера версий не пересекают major-границу совместимости. Вердикт о совместимости не записан.

  3. Подготовить смену тегов образов

    Смена тегов образов сейчас не планируется.

  4. Следовать документированной схеме миграции

    Смена тега и перезапуск. Шаги конкретного релиза всё равно берутся из release notes и инструкции по установке.

  5. Защитить точку отката

    Смена версии сейчас не планируется. Рецепт содержит процедуру backup. Restore проверен.

  6. Проверить обновлённый рецепт

    Точная проверка уровня «Проверен полностью» для этой версии записана 2026-10-24.

Прочитать порядок обновления в инструкции по установке ↓

Характеристики

Безопасность и публикация

Уровни установки

Статус показывает, насколько опубликованный рецепт покрывает требования каждого уровня.

Готово

Для дома

Минимальная конфигурация для локальной сети или доступа через VPN.

  • Один сервер
  • Локальный доступ
  • Минимум компонентов

Рецепт закрывает все требования этого уровня.

Готово

Для VPS

Публичная установка с защищённым доступом и резервными копиями.

  • Домен
  • HTTPS через reverse proxy
  • Backup вне сервера

Рецепт закрывает все требования этого уровня.

Не поддерживается

Надёжная

Конфигурация для предсказуемой эксплуатации и наблюдаемости.

  • Отдельная БД
  • Healthcheck
  • Внешний мониторинг
  • Лимиты CPU и памяти

Нужно добавить вручную: отдельная бд, внешний мониторинг, лимиты cpu и памяти.

Собрать под свой сервер

Генератор конфигурации

Ответьте на пять вопросов и скачайте готовый комплект Beszel.

Работает локально
01 Есть домен?
02 Какой reverse proxy?
03 Архитектура сервера
04 Где хранить данные?

Укажите абсолютный путь для отдельного диска, например /srv/beszel.

05 Требуется VPN-доступ?

Комплект готов к сборке

Архив создаётся в браузере. Ответы никуда не отправляются.

Те же файлы одним shell-скриптом, обычными heredoc, чтобы всё читалось до запуска. Скрипт проверяет Docker, архитектуру, память, диск и нужные порты и без --apply ничего не пишет.

Скриншоты

Быстрый запуск

Сначала прочитайте полную инструкцию: в ней описаны доступ извне, backup и расположение данных.

Подготовить настройкиcp .env.example .env
Запуститьdocker compose up -d
Проверить состояниеdocker compose ps

Пошаговая инструкция

Установка

Нужны Ubuntu 24.04 LTS или Debian 12/13, Docker Engine и Compose >=2.24.0 из официального репозитория. Скачайте рецепт целиком.

cp .env.example .env
chmod 600 .env
openssl rand -hex 24

Замените CHANGE_ME в BESZEL_ADMIN_PASSWORD случайным значением, укажите свой BESZEL_ADMIN_EMAIL и реальный BESZEL_URL.

docker compose config --quiet
docker compose pull
docker compose up -d --wait
docker compose ps

Откройте http://localhost:8090 и войдите с заданными email/паролем. На новой базе они создают администратора Beszel и суперпользователя PocketBase; при существующей базе окружение не меняет пароли. Не открывайте панель до настройки закрытых credentials.

VPS

Нужны домен, HTTPS, firewall и зашифрованные внешние копии. Оставьте 8090 на loopback и публикуйте только прокси. Доступ к /_/ ограничьте доверенными операторами.

LAN / VPN

Предпочтительны SSH-туннель (ssh -L 8090:127.0.0.1:8090 user@server) или VPN/прокси. Для прямой доверенной LAN явно поменяйте bind в Compose и ограничьте firewall. BESZEL_URL должен совпадать с адресом браузера.

HTTPS

Направьте DNS на прокси, задайте BESZEL_URL=https://metrics.example.com и пересоздайте сервис. Пропускайте WebSocket upgrade и долгие соединения: они нужны live-интерфейсу и WebSocket-агентам.

Caddy

Используйте proxy/Caddyfile на хосте; Caddy обслуживает TLS и WebSocket.

Nginx

Получите указанный сертификат, подключите proxy/nginx.conf в контексте http, проверьте nginx -t и перезагрузите. map выбирает правильный заголовок Connection.

Traefik

Загрузите proxy/traefik.yaml через file provider с websecure и resolver letsencrypt. Пример рассчитан на Traefik хоста; контейнеру нужен маршрут к панели вместо loopback хоста.

Data / Данные

Именованный BESZEL_DATA_VOLUME подключён к /beszel_data: data.db, auxiliary.db, закрытый id_ed25519, состояние уведомлений и встроенные backup. Сохраняйте весь каталог, включая WAL работающего сервиса. Данных агентов здесь нет. Смена имени тома выбирает другую установку.

Backup

Выполните bash backup.sh. Скрипт останавливает панель, сохраняет весь том, .env и Compose и возвращает прежнее состояние запуска. Права архива — 600. Шифруйте и выносите копии с сервера; конфигурацию, токен и данные каждого агента храните отдельно.

Restore / Восстановление

Восстановление заменяет текущие данные. Используйте доверенный архив. На новой машине сначала запустите рецепт, вручную сравните архивную configuration.env (она не активируется) и выполните bash restore.sh /safe/path/beszel-backup.tar. Скрипт проверяет обязательные файлы, делает страховочную копию, заменяет данные и ждёт health. При ошибке распаковки панель остаётся остановленной. Используются пароли и SSH-ключ восстановленной базы; проверьте историю и переподключение агентов.

Update / Обновление

Прочитайте release notes, сделайте backup, установите новый явный BESZEL_VERSION и выполните docker compose pull && docker compose up -d –wait. Не используйте latest. Отдельно обновляйте агентов до совместимой фиксированной версии и проверяйте метрики. Обновление панели — замена образа на месте; перед будущими major-релизами изучайте инструкции миграции.

Rollback / Откат

Остановите beszel, верните прежний BESZEL_VERSION в .env, скачайте и один раз запустите его, затем восстановите соответствующий архив до обновления. База после миграций нового PocketBase/Beszel может не работать со старым бинарником: возвращайте старый снимок. Проверьте вход, назначенные системы и соединения агентов.

Removal / Удаление

docker compose down сохраняет том. Для полного удаления сначала выгрузите backup, проверьте проект и BESZEL_DATA_VOLUME, затем выполните docker compose down –volumes. Аккаунты, SSH-ключ и история будут уничтожены. .env, DNS/прокси и отдельные агенты удаляйте, когда они больше не нужны.

Все параметры .env.example

Variable Назначение
BESZEL_VERSION Тег панели 0.21.1
BESZEL_PORT HTTP-порт loopback хоста, исходно8090
BESZEL_URL Реальный внешний URL интерфейса и ссылок
BESZEL_ADMIN_EMAIL Email начального администратора/суперпользователя, только новая БД
BESZEL_ADMIN_PASSWORD Случайный начальный пароль; замените CHANGE_ME
BESZEL_DATA_VOLUME Уникальное имя постоянного тома
TZ Часовой пояс IANA, исходно Etc/UTC
BESZEL_BACKUP_DIR Необязательная закрытая папка архивов

Подключение реальных систем

Через Add System создайте запись и используйте инструкции агента для нужной машины. Замените плавающий тег в предложенной UI-команде на henrygd/beszel-agent:0.21.1. Для SSH разрешайте порт агента только панели; для WebSocket используйте TLS. Не копируйте Docker socket, host network или устройства без необходимости: они расширяют доступ. Публичный ключ панели — не закрытый ключ. SMTP, OIDC, MFA и доставка оповещений в рецепте не настроены.

Сообщить о проблеме с рецептом

Рассказать, как прошло на вашем сервере

Откроется предзаполненный issue на GitHub. Нужен аккаунт GitHub; после отправки сообщение будет публичным.

Диагностика

Диагностика

docker compose ps
docker compose logs --tail=100 beszel
docker compose exec beszel /beszel health --url http://127.0.0.1:8090

Неверный пароль: переменные администратора применяются только к новой базе. Восстановление возвращает старый пароль. Используйте собственную процедуру смены пароля PocketBase; не удаляйте том ради сброса.

Нет систем/метрик: рецепт устанавливает только панель. Установите отдельный агент, назначьте систему пользователю, проверьте адрес, порт, ключ и версию. localhost внутри панели указывает на контейнер панели. Разрешайте SSH только от неё; WebSocket требует корректного HUB_URL, токена, TLS и proxy upgrade.

Permission denied: инициализатор выставляет UID/GID1000 для тома. Не подключайте чужой том. Root контейнера read-only; запись допускается в data и временный tmpfs.

Оповещения не доходят: SMTP/push не настроены. Наличие сохранённого правила не доказывает доставку. Проверьте интеграцию по официальной документации.

Пустая история: новые системы начинают накопление после подключения, агрегаты появляются позже. Пользователь видит только назначенные ему системы. Тестовые контейнеры не доказывают полноту метрик физического хоста.

Backup/restore: FOSSARY_ENV_FILE выбирает другую .env. Неполный архив отклоняется до остановки. При ошибке извлечения панель остаётся остановленной: проверьте место, права, архив и страховочную копию. Архивы содержат секреты и закрытый SSH-ключ; не публикуйте их.

Официальные источники

Последний релиз: 2026-10-22 · GitHub Stars: 26 494 · данные проверены 24 окт. 2026 г., 09:32 UTC

Отказ от ответственности

Fossary — независимый информационный каталог, не связанный с разработчиками представленных приложений. Мы собираем сведения из открытых источников и проверяем опубликованные рецепты, но не разрабатываем, не распространяем и не контролируем эти приложения.

Публикация карточки или статус проверки не являются требованием, навязыванием либо персональной рекомендацией использовать приложение. Вы самостоятельно решаете, подходит ли оно вам, и используете его на свой риск. Мы не гарантируем безопасность, доступность или пригодность приложения и, в пределах, допускаемых законом, не отвечаем за вызванные им потери или ущерб. До установки проверьте лицензию, настройки безопасности, обработку данных и резервное копирование.