Copyright (c) 2026 Alexandr Kovalenko. Лицензия проекта: Apache License 2.0. Сторонние компоненты сохраняют собственные лицензии.
WrtMonitor - self-hosted контроллер OpenWrt для дома, homelab и небольших сетей. Один Web UI и Android-приложение показывают состояние нескольких роутеров и позволяют управлять ими, включая удалённые устройства через исходящее соединение агента. Облако производителя и входящие порты на роутере не нужны.
Self-hosted · Web UI · Android · Несколько роутеров · Исходящий агент · Без vendor cloud · Docker / NAS / TrueNAS
Повседневные задачи: посмотреть клиентов и трафик, настроить Wi-Fi и гостевую сеть, проверить WAN/DNS, перезагрузить устройство, обновить пакеты, сохранить резервную копию или открыть Web SSH. Изменения конфигурации проходят проверки результата; для предусмотренных контрактом операций есть backup и rollback. Это не гарантия восстановления после любой аварии или ошибки прошивки.
Один владелец и небольшая сеть, ориентировочно 1–20 OpenWrt-устройств: дом, homelab, небольшой офис, дача, роутеры родственников или несколько удалённых объектов. Это целевой сценарий, не подтверждённый нагрузочным тестом предел в 20 устройств.
Модель single-owner выбрана сознательно. WrtMonitor не является ISP ACS, enterprise NMS или multi-tenant controller и не заменяет OpenWISP для большой организации.
Вместо переключения между несколькими LuCI здесь общий список устройств, мониторинг, история операций и мобильный клиент. LuCI остаётся полезным для специфичных настроек, SSH - для ручной диагностики. Сравнение с LuCI, SSH/Ansible и OpenWISP.
Нужны сервер с Docker Compose или NAS/TrueNAS с Docker, PostgreSQL 16, OpenWrt с root-доступом для установки агента и исходящим доступом к серверу. Для удалённого доступа нужен HTTPS и корректный сертификат; Android требует Android 8.0+.
Quick Start: от установки до первой telemetry · Проверенное оборудование · Поддерживаемые функции
1.0.1 - исправление отображения обновлений после первого публичного выпуска. Файлы релиза, исправление и проверки, границы публичного выпуска. Версионированные базы обновляются миграциями без пересоздания; границы совместимости и порядок восстановления описаны в правилах обновления.
В 1.0.1 Web и Android больше не называют старую версию обновлением и не показывают штатную блокировку отката как аварию. Защита от downgrade и проверки подписей сохранены. Чистая установка не требуется.
Основа публичного выпуска 1.0.0:
- оформлена Apache License 2.0;
- публичные отчёты ограничены разрешёнными полями, без конфигурационных секретов;
- усилены проверки JWT, архивов восстановления и временных файлов backup;
- выпуск получает подписанный inventory с версиями и digest контейнера;
- исправлены проверки Wi-Fi на BusyBox и запуск коротких PTY-сессий;
- обновлены инструкции первого запуска и границы аппаратной поддержки. Подробности в описании выпуска.
Полная история изменений: CHANGELOG.md. Матрица доступных функций: docs/supported-features.md.
- сервер
FastAPI + PostgreSQL + Alembic; - текущая модель доступа:
single-owner, без ролей и мультипользовательского режима; - Web UI со светлой и тёмной dashboard-темой;
- Android-клиент;
- OpenWrt-агент для регистрации, telemetry, очереди команд, Web SSH, diagnostics и автообновления;
- установка через Docker Compose, VPS, домашний Linux-сервер, NAS с Docker и TrueNAS Custom App;
- управление Wi-Fi, гостевыми сетями, профилями доступа, сетью, DHCP, системными сервисами, диагностикой и жизненным циклом агента;
- release artifacts для сервера, агента и Android.
![]() |
![]() |
![]() |
| Обзор | Клиенты | Wi-Fi |
Актуальный WebUI на тестовом роутере браузерного прогона CI.
Мобильный WebUI · Светлая тема и список роутеров
| Клиенты | Интернет и интерфейсы |
|---|---|
![]() |
![]() |
Полная воспроизводимая инструкция: docs/quick-start.md. Ниже только краткий порядок.
- Разверните сервер и PostgreSQL через Docker Compose или TrueNAS.
- Откройте
/setup. - Создайте первого администратора.
- Проверьте
/ready. - Откройте Аккаунт -> Подключить мобильное приложение, создайте QR и отсканируйте его в Android. Ручной ввод адреса и вход по паролю остаются доступны.
- Установите OpenWrt-агент.
Для reverse proxy указывайте внешний HTTPS-адрес:
WRTMONITOR_PUBLIC_SERVER_URL=https://monitor.example.ru
WRTMONITOR_ALLOW_INSECURE_LOCAL=falseДля локального временного теста можно включить HTTP:
WRTMONITOR_PUBLIC_SERVER_URL=http://192.168.1.10:8088
WRTMONITOR_ALLOW_INSECURE_LOCAL=trueБазовый YAML лежит в deploy/truenas/wrtmonitor-truenas.yaml.
В релизе он публикуется как:
wrtmonitor-truenas-v<VERSION>.yaml
Контейнер использует:
ghcr.io/shurshick/wrtmonitor:latest
latest скачивается при redeploy через Edit -> Save, но не обновляет уже запущенный контейнер сам по себе.
OpenWrt-агент можно установить:
- с GitHub Release;
- прямо с уже развернутого сервера
https://monitor.example.ru/downloads/openwrt/.
Сервер раздаёт:
wrtmonitor-agentwrtmonitor.initinstall-openwrt.shagent-version.txtopenwrt-agent-files.txtSHA256SUMS.txtSHA256SUMS.siglib/*.sh
Подробности:
- OpenWrt agent
- Развёртывание сервера
- Эксплуатация и восстановление
- События, уведомления и автоматизация
- Router management core
История релизов теперь ведётся в одном месте: CHANGELOG.md. Отдельные старые промежуточные release notes больше не поддерживаются.






