3.8 KiB
3.8 KiB
title: VerneMQ created: 2026-06-08 updated: 2026-06-08 type: app tags: [catalogue, home-automation, app-marathon-batch-c] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Home+Automation&app=vernemq, https://vernemq.com/]
🏠 VerneMQ
Broker MQTT haute performance : la colonne vertébrale messaging de votre domotique, écrit en Erlang pour la fiabilité télécom.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | vernemq.com |
| GitHub | vernemq/vernemq |
| License | Apache-2.0 |
| Langage | Erlang |
| Étoiles GitHub | 3.3k ⭐ |
| Catégorie | cat-home-automation |
📝 Description
VerneMQ est un broker MQTT robuste conçu pour l'IoT et la domotique.
- ✅ MQTT 3.1.1, 5.0 : protocole standard
- ✅ Clustering natif : scaling horizontal Erlang/BEAM
- ✅ Auth plugins : fichiers, HTTP, MySQL, PostgreSQL, MongoDB
- ✅ WebSockets : pour dashboards web
- ✅ TLS/SSL : chiffrement natif
- ✅ Bridge : pont entre brokers
- ✅ Retained messages, QoS 0/1/2 : full MQTT spec
- ✅ Pub/Sub, Shared Subscriptions : pour charges IoT
- ✅ Plugin Lua : logique custom embarquée
- ✅ Métriques Prometheus
Différence vs Mosquitto : Mosquitto = léger, single-node, parfait pour maison. VerneMQ = clustering, performance, production-grade. Pour qui: installations avec beaucoup de devices (>100), ou qui veulent scaler.
🚀 Installation
Docker Compose (recommandé)
version: '3.8'
services:
vernemq:
image: vernemq/vernemq:latest
container_name: vernemq
restart: unless-stopped
environment:
- DOCKER_VERNEMQ_ALLOW_ANONYMOUS=on
- DOCKER_VERNEMQ_USER_vernemq=changeme
- DOCKER_VERNEMQ_LISTENER__TCP__DEFAULT=0.0.0.0:1883
- DOCKER_VERNEMQ_LISTENER__WS__DEFAULT=0.0.0.0:9001
volumes:
- vernemq_data:/vernemq/data
- vernemq_log:/vernemq/log
ports:
- 1883:1883 # MQTT
- 9001:9001 # WebSockets
labels:
- "traefik.enable=true"
- "traefik.http.routers.vernemq.rule=Host(`mqtt.example.com`)"
- "traefik.http.routers.vernemq.entrypoints=websecure"
- "traefik.http.routers.vernemq.tls.certresolver=letsencrypt"
volumes:
vernemq_data:
vernemq_log:
Premier test (CLI)
# Subscribe
mosquitto_sub -h localhost -p 1883 -t "test/topic" -u vernemq -P changeme -v
# Publish
mosquitto_pub -h localhost -p 1883 -t "test/topic" -u vernemq -P changeme -m "Hello MQTT"
🔄 Alternatives
Open Source
- Mosquitto (Eclipse) — Référence, plus léger
- EMQX — Concurrent direct, plus d'intégrations
- HiveMQ CE — Broker Java entreprise
- RabbitMQ (plugin MQTT) — Polyvalent mais pas MQTT natif
Propriétaires
- AWS IoT Core — Managed cloud MQTT
- Azure IoT Hub — Managed, intégration Azure
- Google Cloud IoT — Managed, en sunset
- HiveMQ Cloud — SaaS HiveMQ
🔐 Sécurité
- Auth plugins : ne JAMAIS laisser anonyme en production
- TLS : obligatoire si exposé sur Internet
- ACL : limiter topics par utilisateur (
vernemq.conf) - WebSockets : attention exposition Internet, préférer TCP MQTT local
- Métriques Prometheus : surveiller charge
📚 Ressources
Pages Liées
- cat-home-automation — Catégorie Home Automation
- app-home-assistant — Utilisateur principal de MQTT
- app-esphome — Device firmware qui publie sur MQTT
- recettes-docker-compose — Templates Docker
- mqtt-securite-best-practices — Hardening broker