EMQX на VPS: MQTT-брокер для IoT
Установка EMQX MQTT broker на VPS: IoT устройства, pub/sub, TLS, WebSocket. Self-hosted альтернатива облачному IoT Hub.
Краткий ответ: EMQX — MQTT-брокер для IoT: датчики публикуют в topics, подписчики получают. Docker на VPS за 5 минут. TLS + auth для production.
MQTT — лёгкий протокол для умного дома, телеметрии, Telegram-ботов с hardware.
MQTT vs HTTP для IoT
| MQTT | HTTP | |
|---|---|---|
| Overhead | Минимальный | Высокий |
| Push от server | Да | Polling |
| Offline queue | Да | Нет |
| Battery devices | Идеально | Плохо |
Docker установка
services:
emqx:
image: emqx/emqx:5
ports:
- "1883:1883"
- "8883:8883"
- "127.0.0.1:18083:18083"
environment:
EMQX_NAME: emqx
volumes:
- emqx_data:/opt/emqx/data
Dashboard: http://127.0.0.1:18083 (admin/public → смените пароль).
TLS
Порт 8883 — MQTT over TLS. Сертификат — Let’s Encrypt или wildcard DNS.
Масштабирование
| Устройств | RAM |
|---|---|
| < 1000 | 512 MB–1 GB |
| 10k+ | 2 GB+ |
Мониторинг — Netdata + EMQX metrics.
Связка с приложением
Backend на Node.js или Go подписывается на MQTT → пишет в MongoDB или PostgreSQL.
Безопасность
- Смените default credentials
- ACL per device
- Не открывайте 1883 без TLS в интернет
- Fail2ban
Итог
EMQX на VPS — свой IoT hub без облачной подписки. Docker + TLS + ACL = production-ready.
VPS от 1 GB — StormNet Cloud. Очереди — RabbitMQ.
Рекомендуем прочитать
Частые вопросы
EMQX или Mosquitto для MQTT на VPS?
Mosquitto — легче для home lab. EMQX — масштаб, dashboard, clustering для production IoT.
Нужен ли TLS для MQTT?
Да в production. Порт 8883 (MQTTS) с Let's Encrypt. Не используйте plaintext 1883 в интернете.






