MeshCenter в Docker: базовая станция Meshtastic на домашнем NAS без Raspberry Pi

Дата обновления: 20.10.2026 (актуально для MeshCenter 1.12.1)
Автор: Флинт
💡 MeshCenter больше не привязан к Raspberry Pi: с версии 1.11.0 его можно запустить в контейнере Docker на домашнем NAS или сервере, а радио Meshtastic подключить по Wi-Fi.
💬 Когда я начинал MeshCenter, всё было просто: Raspberry Pi, радио по USB, веб-интерфейс в браузере. Но у меня дома круглосуточно работает Synology, и мысль «зачем ещё одна плата, если есть NAS» не давала покоя. А радио хотелось поставить туда, где лучше приём, а не туда, где стоит компьютер.
Так появился серверный режим: MeshCenter в контейнере Docker на NAS, радио с Wi-Fi стоит на чердаке или у окна, и между ними только домашняя сеть. В этой статье я расскажу, зачем это нужно, что вы получаете и чего лишаетесь, а во второй половине пошагово покажу установку – даже если вы никогда не работали с Docker.
Попробуйте сами: интерактивное онлайн-демо
Как выглядит MeshCenter, можно посмотреть прямо в браузере, ничего не устанавливая: онлайн-демо MeshCenter. Интерфейс в Docker-версии тот же самый.
🎯 Зачем запускать MeshCenter в контейнере
Базовая станция Meshtastic должна работать постоянно: принимать сообщения, пока вы спите, собирать телеметрию, хранить историю переписки. Обычно для этого берут Raspberry Pi. Но не всем хочется заводить и обслуживать ещё одно устройство:
- 🗄️ у многих дома уже есть NAS, который и так работает круглосуточно – с RAID, бэкапами и, часто, с ИБП;
- 🍓 Raspberry Pi нужно обслуживать отдельно: SD-карта, питание, обновления системы;
- 📡 радио удобнее поставить там, где лучше приём – на чердаке, у окна, на мачте, – а не рядом с компьютером.
Решение простое: радио Meshtastic с Wi-Fi подключено к домашней сети, а MeshCenter работает в контейнере на NAS и общается с радио по сети (TCP). Отдельный компьютер рядом с радио не нужен – радио достаточно питания.
[ Радио Meshtastic ] ── Wi-Fi ── [ Роутер ] ── LAN ── [ NAS: контейнер MeshCenter ]
(чердак / мачта) │
браузер на ПК, планшете, телефоне
✅ Кому подходит серверный режим
- 🗄️ владельцам Synology и других NAS на процессорах Intel/AMD;
- 🖥️ тем, у кого есть домашний сервер или мини-ПК с Docker;
- 💾 тем, кому важны централизованные бэкапы и не хочется обслуживать отдельную плату;
- 📡 тем, у кого радио должно стоять отдельно от компьютера.
🍓 Кому лучше остаться на Raspberry Pi
- 📷 если нужны камера, e-Paper дисплей, датчики (BME280, часы DS3231);
- 🔌 если у радио нет Wi-Fi – например, платы на nRF52 (RAK4631, T-Echo);
- 📱 если телефон должен оставаться подключённым к радио, пока работает MeshCenter (подробнее ниже);
- ⚡ если хочется самой простой установки: записал SD-карту и включил.
💡 Есть и третий вариант. На любой компьютер или сервер с Debian/Ubuntu MeshCenter можно поставить без Docker, обычной ручной установкой (install.sh). Радио тогда подключается по USB, и все функции доступны. Docker – не единственный способ обойтись без Raspberry Pi, а вариант именно для NAS и серверов, где не хочется ставить программы прямо в систему.
⚖️ Raspberry Pi или Docker: сравнение
| Raspberry Pi (классика) | Docker (серверный режим) | |
|---|---|---|
| Где работает | отдельная плата Pi | NAS или сервер, который у вас уже есть |
| Подключение радио | USB (рекомендуется), TCP, Bluetooth | только TCP по сети |
| Камера, дисплей, датчики | есть | нет |
| Установка | автоматическая с SD-карты | сборка образа + compose |
| Обновление | кнопкой в интерфейсе | заменой образа |
| Процессор | ARM (Pi Zero 2W, 3, 4, 5) | x86-64 (Intel/AMD) |
| Хранение данных | SD-карта | том NAS (RAID, снапшоты, бэкапы) |
🏗️ Как это устроено внутри
Для тех, кому интересно, что в «коробке». Образ построен на python:3.11-slim (Debian) и весит около 350 МБ (около 80 МБ в сжатом виде).
- 🧠 MeshCenter Core – веб-приложение на Flask под gunicorn, всегда ровно один рабочий процесс;
- 📡 адаптер Meshtastic – отдельный процесс со своим окружением Python и официальной библиотекой
meshtastic. С Core он общается через локальный канал. Так библиотека под GPLv3 отделена от основного кода MeshCenter под MIT – ровно как в обычной установке; - ⚙️
tiniв роли init-процесса – корректно передаёт сигналы и не оставляет «зомби»; - 🔒 обычный пользователь вместо root, сброшены все capabilities, запрещено повышение прав;
- 🩺 эндпоинт
/healthz– по нему Docker понимает, что веб-приложение живо.
💾 Где хранятся данные
Всё важное лежит снаружи контейнера, в двух папках на диске NAS:
| Папка на NAS | В контейнере | Что там |
|---|---|---|
config/ | /config | config.py (создаётся при первом запуске и никогда не перезаписывается), ключи погодных сервисов |
data/ | /data | сообщения, узлы, профили радио, точки на карте, файлы MCAttach, настройки, хэш пароля, журнал событий |
Контейнер можно удалить и пересоздать, обновить или откатить образ – данные остаются на месте.
🧭 Как MeshCenter понимает, что он в контейнере
Специальная переменная окружения включает контейнерный режим. Функции, которым нужно «железо» (USB, камера, дисплей, Wi-Fi), сервер отклоняет, а интерфейс скрывает. Системная страница показывает только честные цифры: нагрузку, память и время работы хоста (контейнер делит их с NAS) и диск тома с данными. Модель платы и температуру процессора контейнер достоверно узнать не может – поэтому они скрыты.
⏰ Время. Контейнер не может сам проверить, что часы синхронизированы. Переменная MESHCENTER_TRUST_HOST_CLOCK=1 разрешает доверять часам хоста: DSM синхронизирует их по NTP. От этого зависят расписания и синхронизация времени радио. Часовой пояс задаётся через TZ.
📡 Подключение по TCP: что важно знать
Сетевое подключение – главное отличие серверного режима, и у него есть свои особенности.
⚠️ Правило «один клиент на радио»
Радио Meshtastic обслуживает только одно TCP-подключение. Когда подключается новый клиент, радио молча отключает предыдущего. Если оба умеют автоматически переподключаться, они будут бесконечно выбивать друг друга – каждый продержится несколько секунд.
И это не теория. При разработке Docker-версии я потратил на эту проблему почти два дня. Связь рвалась каждые несколько минут, и под подозрением побывали прошивка радио, настройки TCP keepalive и мой собственный код. А причина оказалась до обидного простой: второй экземпляр MeshCenter на другом компьютере был настроен на то же радио, и его библиотека тихо переподключалась через секунду после каждого отключения. Как только второй клиент убрали, Docker-версия проработала около 7 часов без единого разрыва.
Отсюда практические правила:
- 🚫 пока MeshCenter подключён, не подключайтесь к этому радио по сети – ни телефоном, ни вторым MeshCenter, ни скриптом;
- 📱 нужен телефон – нажмите в Node Manager «Освободить радио» (Release radio), поработайте, отключитесь в приложении и нажмите Reconnect (подробнее ниже);
- 🔁 если у вас несколько установок MeshCenter с TCP-профилем этого радио, на всех, кроме одной, радио должно быть освобождено.
MeshCenter сам распознаёт такую ситуацию. С версии 1.12.0 он замечает не только быстрые обрывы, но и регулярное чередование, когда клиенты сменяют друг друга каждые полминуты-минуту. В Node Manager появляется предупреждение «The radio keeps closing our session – another client (phone app, a second MeshCenter) probably shares it. Use Release radio on the other instance», а попытки подключения становятся реже (раз в 5, затем раз в 10 минут), чтобы не мешать. Предупреждение исчезает само, когда сессия простоит стабильно 15 минут. Освобождать радио самостоятельно MeshCenter не будет – это решение остаётся за вами.
📶 Wi-Fi и Bluetooth. Как подтверждает документация Meshtastic, на платах ESP32 Wi-Fi и Bluetooth одновременно не работают: при включении Wi-Fi Bluetooth отключается. Поэтому подключить телефон «параллельно по Bluetooth», пока MeshCenter работает по сети, не получится.
🔄 Автоматическое восстановление связи
Если радио пропало – отключилось питание, пропал Wi-Fi, перезагрузился роутер или NAS, – MeshCenter не сдаётся и не требует перезапуска:
- ⏳ ждёт около 25 секунд, чтобы радио успело освободить старое подключение;
- 🔁 пробует снова через 30, 60, 90 секунд, а затем каждые 2 минуты – без ограничения по времени;
- 🪪 при каждой попытке проверяет, что ответило то же самое радио – другое устройство на том же IP без вашего подтверждения не будет принято;
- ⏱️ считает связь восстановленной только после того, как сессия продержалась 20 секунд.
В интерфейсе это видно как «Reconnecting… (attempt N, next in X s)», а кнопка Reconnect запускает попытку немедленно. Node Manager показывает число разрывов за последний час – короткие сбои не превращаются в тревожный красный статус.
Проверено на реальном радио: после отключения питания больше чем на 20 минут связь восстановилась сама, без перезапуска контейнера. Одна особенность T-Beam: сразу после переподключения он иногда закрывает первую новую сессию, а вторая попытка уже стабильна. Поэтому один «разрыв» в счётчике после Reconnect – это нормально. А чтобы не нагружать радио, при повторном подключении MeshCenter запрашивает только конфигурацию без полного списка узлов – около 1,2 КБ вместо 14 КБ. Слабым платам на ESP32 так заметно легче.
✔️ Подтверждения доставки
С версии 1.12.0 подтверждения доставки личных сообщений («доставлено ✓✓») работают и по TCP, а не только по USB. Сообщение считается доставленным только тогда, когда подтверждение пришло от самого получателя, а не от ретранслятора по пути.
✅ Преимущества
- ✅ Не нужно отдельное устройство – MeshCenter работает на NAS, который и так включён круглосуточно.
- ✅ Надёжное хранение – данные лежат на томе NAS с RAID, снапшотами и Hyper Backup; SD-карта не износится и не испортится при сбое питания.
- ✅ Свобода размещения радио – оно стоит там, где лучше приём; нужны только питание и Wi-Fi.
- ✅ Изоляция и безопасность – контейнер работает не от root, без лишних прав и не трогает систему NAS.
- ✅ Простое обновление и откат – новая версия = новый образ; не понравилась – вернули старый.
- ✅ Удобная передача радио – кнопка «Освободить радио» отдаёт его телефону на нужное время без остановки контейнера.
- ✅ Производительность – процессор NAS обычно мощнее Raspberry Pi Zero 2W, интерфейс отзывается быстрее.
⚠️ Ограничения
- 📡 Только TCP – радио должно иметь Wi-Fi (или Ethernet) и включённый сетевой доступ. USB и Bluetooth в контейнере отключены.
- 🖥️ Только x86-64 – образ собирается под
linux/amd64. NAS на ARM и Raspberry Pi в Docker пока не поддерживаются. - 🔒 Один клиент на радио – пока MeshCenter подключён, телефон и другие программы к радио по сети подключаться не могут. Для передачи радио есть кнопка «Освободить радио».
- 📷 Нет функций, связанных с «железом» – камера, e-Paper дисплей, датчики I2C и RTC, управление Wi-Fi, перезагрузка устройства.
- 🔄 Нет встроенного обновления – кнопка обновления в контейнере отключена, новая версия собирается и загружается как новый образ.
- 📦 Нет готового образа – его нужно собрать самостоятельно (это делается один раз на каждую версию).
- 📭 Сообщения во время разрыва могут потеряться – радио не хранит их для сетевого клиента.
- 🧪 Проверено пока только на Synology DS920+ – на других системах всё должно работать по тому же принципу, но официально они ещё не тестировались.
🔒 Безопасность
- 🔑 При первом запуске MeshCenter требует задать пароль (не короче 12 символов). Сделайте это сразу: пока пароля нет, установку может «занять» любой в вашей сети.
- 🛡️ Все страницы и API защищены сессией, изменяющие запросы – CSRF-токеном, попытки подбора пароля ограничиваются.
- 🌐 MeshCenter работает по обычному HTTP и рассчитан на домашнюю сеть. Не открывайте порт в интернет – для удалённого доступа используйте VPN или обратный прокси с HTTPS.
- 📁 Папка
data/содержит секреты (хэш пароля, ключ сессий, ключи MCAttach) – не делайте её общедоступной.
🛠️ Пошаговая установка на Synology
Теперь практика. Я описываю установку на Synology DS920+ (DSM 7.3) – именно на нём всё проверено. Для других систем отличаются только названия пунктов меню (об этом ниже).
📚 Немного терминов
- 📦 Образ (image) – готовая «коробка» с программой: внутри минимальный Linux, Python, MeshCenter и библиотека meshtastic. Собирается один раз и не меняется.
- ▶️ Контейнер – запущенная копия образа. Его можно остановить, удалить и создать заново, ничего не потеряв.
- 📁 Папки снаружи (тома) –
config/иdata/на диске NAS. Все ваши данные хранятся там. - 📝 compose.yaml – текстовый файл-«рецепт»: какой образ запускать, на каком порту и какие папки подключить.
📋 Что нужно заранее
- 🖥️ NAS с процессором Intel/AMD. Проверить на Synology: Панель управления → Информационный центр → Общие → Процессор.
- 📦 Container Manager: Центр пакетов → Container Manager → Установить.
- 📡 Радио Meshtastic с Wi-Fi. В официальном приложении включите Wi-Fi, подключите радио к домашней сети и убедитесь, что включён сетевой доступ (TCP, порт 4403).
- 📌 Постоянный IP радио. Закрепите адрес в роутере (DHCP-резервирование) – иначе после смены адреса MeshCenter радио не найдёт.
- 💻 Компьютер для сборки образа с Windows, macOS или Linux, на котором можно поставить Docker Desktop и Git.
💻 Шаг 1. Сборка образа на компьютере
Готового образа для скачивания пока нет (почему – в разделе вопросов). Собрать его несложно. Установите Docker Desktop и Git, затем скачайте исходники и переключитесь на релиз – именно на релиз, а не на текущую ветку разработки:
git clone https://github.com/FlintUA/MeshCenter
cd MeshCenter
git checkout v1.12.1
Номер последней версии смотрите на странице Releases. Теперь соберите образ. Linux / macOS:
deploy/docker/build.sh
Windows (PowerShell) – команда целиком, с точкой в конце:
docker build --platform linux/amd64 --build-arg MESHCENTER_VERSION=1.12.1 -t meshcenter:1.12.1 .
Сборка занимает несколько минут. Затем сохраните образ в файл для переноса на NAS:
docker save -o meshcenter-1.12.1.tar meshcenter:1.12.1
💡 Получится файл около 80-90 МБ. Собрать образ можно и прямо на NAS из исходников, но для этого нужны git и SSH, и на NAS это заметно дольше. Новичку проще собрать на компьютере.
📁 Шаг 2. Папки и права
В File Station создайте папку /volume2/docker/meshcenter/ и внутри неё две папки: config и data. Если общая папка docker у вас на первом томе – пишите volume1 (здесь и далее).
[📷 Место для скриншота: File Station с папками config и data]
Контейнер из соображений безопасности работает не от администратора, а от обычного пользователя, и ему нужно право писать в эти папки. Для этого понадобится SSH:
- включите SSH: Панель управления → Терминал и SNMP → Включить службу SSH;
- подключитесь с компьютера (на Windows – из PowerShell):
ssh ваш_логин@IP-адрес-NAS; - выполните
sudo -i(система спросит пароль DSM).
Дальше вводите команды по одной. Сначала узнайте числовые идентификаторы пользователя:
id ваш_логин
Ответ будет примерно таким: uid=1026(...) gid=100(users). Число после uid – это PUID, после gid – PGID. Передайте папки этому пользователю (подставьте свои числа):
chown -R 1026:100 /volume2/docker/meshcenter/config /volume2/docker/meshcenter/data
💡 Образ по умолчанию рассчитан на 1026:100 – у первого созданного пользователя Synology обычно именно такие значения. Если у вас другие числа, укажите их в compose.yaml (шаг 4).
📦 Шаг 3. Загрузка образа на NAS
Без командной строки: Container Manager → Образ → Импорт → Добавить из файла → выберите meshcenter-1.12.1.tar. Если интерфейс не примет файл, используйте способ через SSH ниже.
[📷 Место для скриншота: Container Manager → Образ → Импорт]
Или через SSH: скопируйте файл на NAS через File Station и выполните:
docker load -i /volume2/docker/meshcenter/meshcenter-1.12.1.tar
После этого образ meshcenter:1.12.1 появится в списке образов, а файл .tar можно удалить.
📝 Шаг 4. Файл compose.yaml
Создайте в папке /volume2/docker/meshcenter/ текстовый файл compose.yaml с таким содержимым:
name: meshcenter
services:
meshcenter:
container_name: meshcenter
image: meshcenter:1.12.1
user: "1026:100" # PUID:PGID из шага 2
restart: unless-stopped
ports:
- "5080:5000" # порт 5000 на Synology занят самим DSM
environment:
TZ: Europe/Berlin # ваш часовой пояс: Europe/Moscow, Europe/Kyiv...
MESHCENTER_TRUST_HOST_CLOCK: "1"
volumes:
- ./config:/config
- ./data:/data
hostname: meshcenter
cap_drop: [ALL]
security_opt: ["no-new-privileges:true"]
stop_grace_period: 30s
image– имя и версия образа из шага 3, через двоеточие (meshcenter:1.12.1), а не имя tar-файла;ports: "5080:5000"– MeshCenter будет открываться на порту 5080 NAS;MESHCENTER_TRUST_HOST_CLOCK– доверять часам NAS; без этого не работают расписания и синхронизация времени радио;cap_dropиno-new-privileges– контейнер не получает лишних прав.
🚀 Шаг 5. Запуск
Container Manager → Проект → Создать: название meshcenter, путь /volume2/docker/meshcenter, источник – «использовать существующий compose.yaml», далее – готово.
[📷 Место для скриншота: Container Manager → Проект → Создать]
Через SSH то же самое:
cd /volume2/docker/meshcenter
docker compose up -d
🔑 Шаг 6. Первый вход и настройка
- Откройте в браузере
http://IP-адрес-NAS:5080. Первый запуск может занять до минуты. - Откроется страница первичной настройки – сразу задайте пароль.
- Откройте Node Manager, выберите поиск радио по TCP, введите IP радио и порт
4403, подтвердите. MeshCenter перезапустится сам. - Для передачи файлов (MCAttach) укажите номер вашего закрытого канала: откройте
config/config.pyи задайтеMCA_CONTROL_CHANNEL_INDEX = 1(номер – позиция канала в приложении Meshtastic: 0 – основной, 1 – первый дополнительный и т. д.). Затем перезапустите проект.
[📷 Место для скриншота: Node Manager: подключение радио по TCP]
🔒 Важно: MeshCenter намеренно не использует для служебных данных MCAttach публичный канал – поэтому без этой настройки передача файлов отключена.
🔄 Повседневная работа
- 📱 Освободить радио для телефона – Node Manager → «Освободить радио» → срок → «Освободить». Поработайте с телефоном, отключитесь в приложении и нажмите Reconnect (или дождитесь окончания срока). Остановка проекта в Container Manager тоже работает, но кнопка удобнее.
- 🌙 Выключение NAS – останавливать контейнер вручную не нужно: после загрузки он запустится сам. А вот вручную остановленный контейнер после перезагрузки останется выключенным. И помните: если перед выключением радио было освобождено «до подключения», после включения нужно нажать Reconnect.
- ⬆️ Обновление – соберите на компьютере новый образ (
git checkoutна новую версию, сборка,docker save), импортируйте его, поменяйте версию в строкеimage:и перезапустите проект. Затем обновите страницу с Ctrl+F5 и проверьте версию внизу. Папки с данными не затрагиваются. - ↩️ Откат – верните прежнюю версию в
image:, если старый образ ещё в списке. - 💾 Резервная копия – остановите проект, скопируйте
config/иdata/(например, Hyper Backup), запустите снова. Копировать данные работающего контейнера не стоит: внутри базы SQLite. - 📜 Логи – Container Manager → Контейнер → meshcenter → Журнал или
docker compose logs -f.
🗄️ Другие NAS и обычный Linux-сервер
Порядок везде одинаковый: собрать образ → загрузить → папки config и data с правами → compose.yaml → запуск. Отличаются только названия меню:
- 📦 QNAP – Container Station → Images → Import, затем Applications → Create с тем же
compose.yaml; - 📦 Unraid – плагин Compose Manager или ручное создание контейнера с теми же портом и папками;
- 📦 TrueNAS SCALE – Apps → Custom App;
- 🐧 Debian/Ubuntu-сервер – установите
dockerиdocker compose, создайте папки, выполнитеchown, положитеcompose.yamlи запуститеdocker compose up -d.
Эти системы пока не проверялись. Обязательные условия везде одни: процессор x86-64 и радио с доступом по TCP.
🩺 Частые ошибки
| Что видно | Причина и решение |
|---|---|
| Контейнер сразу останавливается, в журнале «not writable» | Неверные права на config/ или data/ – повторите шаг 2 и проверьте user: |
| Страница не открывается на порту 5000 | На Synology порт 5000 занят DSM – используйте 5080:5000 |
| Радио то подключается, то отключается | К радио подключён второй клиент: телефон, другой MeshCenter, программа на ПК |
| «The radio keeps closing our session…» | Радио занято другим клиентом – освободите радио на другой установке MeshCenter или отключите телефон |
| После перезагрузки NAS статус «Radio released» | Радио было освобождено «до подключения» – нажмите Reconnect в Node Manager |
| Один «Link reset» сразу после Reconnect | Нормально для T-Beam: первая сессия после переподключения иногда закрывается, вторая стабильна |
| Долго висит «Reconnecting…» | Радио выключено, не в сети или сменило IP – проверьте резервирование в роутере |
docker compose up выдаёт «pull access denied» | Образ ещё не загружен (docker load) или в строке image: опечатка, например имя файла вместо meshcenter:1.12.1 |
Сообщение «неподтверждено», ответ NO_CHANNEL | Получатель не может расшифровать сообщение: нет обмена ключами между радио |
| MCAttach: «control channel index None» | Не задан MCA_CONTROL_CHANNEL_INDEX (шаг 6) |
| Не срабатывают расписания | Проверьте MESHCENTER_TRUST_HOST_CLOCK и время на NAS |
| Неправильное время | Неверный TZ в compose.yaml |
| «not available in a container» | Функции нужно «железо» – в контейнере она недоступна |
❓ Вопросы и ответы
Можно ли запустить Docker-версию на Raspberry Pi?
Пока нет – образ собирается только под x86-64. Для Raspberry Pi есть обычная установка, и она функциональнее: USB, камера, дисплей, датчики.
А на Windows или macOS через Docker Desktop?
При разработке это работало, но официально не поддерживается: Docker Desktop рассчитан на разработку, а не на круглосуточную работу. Для постоянной станции используйте NAS или Linux-сервер.
Можно ли подключить радио по USB к NAS и пробросить его в контейнер?
В текущей версии нет. Если радио подключено по USB к компьютеру с Linux, проще поставить MeshCenter на этот компьютер напрямую, без Docker.
Что будет, если NAS выключается на ночь?
Ничего страшного: контейнер остановится вместе с NAS и запустится после включения. Сообщения, пришедшие, пока NAS был выключен, MeshCenter не увидит.
Можно ли держать два MeshCenter на одно радио?
Одновременно по TCP – нет, они будут выбивать друг друга. Но с кнопкой «Освободить радио» их можно спокойно чередовать: на одной установке радио освобождено «до подключения», на другой подключено. Другой вариант – Raspberry Pi с одним радио по USB, а NAS с другим радио по TCP.
Как временно подключиться к радио с телефона?
В Node Manager нажмите «Освободить радио» и выберите срок. Подключитесь приложением Meshtastic по Wi-Fi, сделайте что нужно, отключитесь в приложении и нажмите Reconnect. Если выбрали 15 минут или час, MeshCenter подключится обратно сам.
Почему нет готового образа на Docker Hub?
Внутри образа есть библиотека meshtastic под лицензией GPLv3. Для распространения готовых образов нужна соответствующая документация по исходным кодам и лицензиям, и она ещё не готова. До тех пор прошу собирать образ самостоятельно для личного использования и не публиковать готовые образы.
Как понять, что контейнер работает нормально?
В Container Manager у контейнера статус healthy – значит, веб-приложение отвечает. Состояние связи с радио показывает уже сам интерфейс: значок в шапке и Node Manager.
💎 Заключение
Docker-версия MeshCenter – это серверный режим для тех, у кого уже есть NAS или домашний сервер, а радио с Wi-Fi можно поставить в удобном месте. Вы получаете надёжное хранение, изоляцию, простое обновление и обходитесь без отдельного устройства. Взамен – нет функций, завязанных на «железо», и нужно соблюдать правило «одно сетевое подключение на радио».
Нужна полноценная станция со всеми функциями – выбирайте Raspberry Pi с радио по USB. Важнее «поставить и забыть» на уже работающем NAS – серверный режим для вас.
🔨 Текущий статус
- ✅ Docker-версия входит в MeshCenter с версии 1.11.0;
- ✅ проверена на Synology DS920+ с T-Beam: многочасовая работа без разрывов, автоматическое восстановление после отключения радио;
- ✅ 1.12.0: подтверждения доставки по TCP, кнопка «Освободить радио», распознавание второго клиента;
- ✅ 1.12.1: подробная англоязычная инструкция по Docker в репозитории, окна приложения вместо системных диалогов браузера;
- 💭 в планах – образ для ARM и готовые образы после закрытия лицензионных вопросов.
Если вы попробуете серверный режим на другом NAS – QNAP, Unraid, TrueNAS – напишите о результатах в Issues на GitHub: это очень поможет проекту. 📡
🔗 Ссылки
- 📦 Исходный код: github.com/FlintUA/MeshCenter
- 📘 Инструкция по Docker (англ.): docs/Docker_Installation.md
- 🌐 Онлайн-демо: meshcenter.elektroniker.help/preview
- 📖 Первая статья о проекте: MeshCenter: история создания центра управления для Meshtastic
- 📡 Официальный сайт Meshtastic: meshtastic.org
Автор: Флинт – автор MeshCenter и сайта elektroniker.help.