ThingsBoardv4.2.2.7

IoT-платформа для датчиков: история показаний, тревоги, панели и отдельный кабинет заказчика без разработки бэкенда с нуля.

ThingsBoard превращает показания датчиков в графики, историю и тревоги. Оператор следит за всеми объектами, а каждому заказчику можно назначить только его устройства и панели. Такой кабинет работает в Community Edition без коммерческого ключа: не нужно писать хранение данных, правила обработки и разграничение доступа с нуля.

После создания сервера установка поднимет приложение, базу и очередь, заведет двух администраторов и откроет веб-интерфейс по HTTPS с сертификатом Let's Encrypt. На проверке путь от начала установки до работающего HTTPS занял около пяти минут. Дождитесь уведомления о готовности; примерные устройства и панели не загружаются.

Что внутри

ThingsBoard CE 4.2.2.7, Java 17
устройства, история показаний, правила, тревоги и кабинеты заказчиков.
PostgreSQL 16.15
отдельная база для пользователей, настроек, показаний и панелей.
Apache Kafka 4.0.2
очередь обработки событий с сохранением на томе, чтобы сообщения не зависели от памяти процесса.
Caddy 2.11.7
HTTPS для панели и API датчиков, выпуск и продление сертификата Let's Encrypt.

Безопасность

  • Вход подготовлен до публичного доступаоба администратора получают пароль сервера; заводские пароли проверяются на отказ до запуска HTTPS.
  • Посторонний не создаст пользователяанонимный запрос к API создания учетной записи получает отказ, пользователями управляет администратор.
  • База и очередь закрыты снаружиPostgreSQL и Kafka не публикуют порты; интерфейс и API доступны через HTTPS.
  • Свои секретыустановка генерирует случайный пароль базы и отдельный ключ подписи сессий, файл настроек доступен только root.
  • fail2ban на SSHпять неудачных попыток входа приводят к блокировке IP на час.
  • Отчет вендору отключенфоновая проверка обновлений, отправляющая идентификатор установки, выключена.
  • Версия 4.2.2.7 с исправлением старого интерфейсазакрыта CVE-2026-22610: вредоносный SVG мог выполнить посторонний код в браузере пользователя.

Как войти

  1. Возьмите IP сервера в панели, замените точки на дефисы и добавьте .fatmetal.net. Откройте получившийся адрес по HTTPS.

  2. Для устройств и кабинетов войдите как tenant@thingsboard.org, для управления платформой - как sysadmin@thingsboard.org. Оба администратора уже созданы; пароль обоих - пароль сервера из панели, тот же, что для SSH.

  3. Чтобы задать отдельный пароль, откройте меню профиля -> Security и смените его для нужной учетной записи.

  4. Под tenant@thingsboard.org откройте Entities -> Devices -> + -> Add new device. Задайте имя устройства; в его карточке нажмите Copy access token.

  5. Отправьте показание, заменив домен и ТОКЕН своими значениями: curl -fsS -X POST "https://ваш-домен/api/v1/ТОКЕН/telemetry" -H 'Content-Type: application/json' -d '{"temperature":22.1}'.

  6. Откройте Latest telemetry в карточке устройства: появится ключ temperature со значением 22.1. Для графика создайте панель в Dashboards и добавьте виджет Time series chart с этим устройством как источником.

Важно

Интерфейс проверенной CE 4.2.2.7 на английском. Публичный прием показаний настроен по HTTPS. MQTT на порту 1883 доступен только локально или через SSH-туннель; готового публичного MQTTS-входа в этом рецепте нет.

Для приглашений и восстановления доступа настройте свою почту. Под системным администратором откройте меню профиля -> Profile, замените заводской Email на свой и нажмите Save: новый адрес станет логином, а на него придет тестовое письмо. Затем в Settings -> Mail server заполните Mail From, SMTP host, SMTP port, Username и Password, включите Enable TLS для STARTTLS, выберите TLSv1.2, нажмите Save и Send test mail.

Для внешних ИИ-моделей укажите собственный ключ выбранного провайдера в настройках модели. Прокси Fatmetal к внешним API входит в VPS и уже настроен для Java-приложения. Прием показаний, история и тревоги работают без ИИ-модели.

Это новая установка на одном сервере, без переноса старой базы и без отказоустойчивого кластера. Делайте резервные копии: umask 077; cd /opt/thingsboard && sudo docker compose exec -T postgres pg_dump -U thingsboard -d thingsboard -Fc > ~/thingsboard.dump; файл появится в домашнем каталоге SSH-пользователя. Храните копию отдельно от VPS. Команда docker compose down -v удаляет данные вместе с томами.

Лицензия

ThingsBoard Community Edition 4.2.2.7 распространяется под Apache-2.0 и допускает коммерческое использование. Рецепт закреплен на этой версии; коммерческий ключ для описанного сценария не нужен.

Свой домен

  1. Направьте A-запись своего домена на публичный IP сервера.
  2. Проверьте: ping ваш-домен должен показывать этот IP. Пока адрес не совпадает, дождитесь обновления DNS.
  3. По SSH получите права root командой sudo -i. В файле /opt/thingsboard/.env замените значение APP_DOMAIN на свой домен без https://.
  4. Выполните cd /opt/thingsboard && sudo docker compose --profile public up -d caddy. Caddy выпустит сертификат для нового адреса.
  5. Откройте https://ваш-домен и войдите как sysadmin@thingsboard.org. В Settings -> General задайте Base URL = https://ваш-домен, оставьте Force base URL включенным и нажмите Save.
  6. Для работы с устройствами используйте tenant@thingsboard.org. Пароль обоих администраторов остается прежним: пароль сервера из панели, если вы его еще не меняли в ThingsBoard.

Требования

Ubuntu 24.04 LTS; открытые входящие порты 80/443 для HTTPS и выпуска сертификата, SSH для обслуживания.

Тариф CPU4-RAM8-DISK100 - для нескольких объектов с историей, тревогами и кабинетами заказчиков. Стек в простое занимает около 2,3 ГиБ RAM без файлового кеша. В проверке загружена суточная история 20 датчиков с тремя показателями раз в минуту; при такой разовой загрузке пик CPU достигал 3,6 ядра. Это основание оставить четыре ядра и запас памяти для JVM.

Если при вашей постоянной нагрузке процессор надолго занят полностью, переходите на CPU6-RAM16-DISK100. Количество одновременно работающих устройств, частота показаний и сложность правил влияют на нагрузку вместе.

Подробный разбор с замерами и скриншотами в Базе знаний →
ThingsBoard990 ₽/месЗапустить →