Retour aux outils
Domotique / IoTIntermédiaireOpen sourceAuto-hébergeable

VerneMQ

**Broker MQTT haute performance** : la colonne vertébrale messaging de votre domotique, écrit en Erl

MAJ 2026-06-14
VerneMQ
Site officiel Code source★ 3 589

VerneMQ est un broker MQTT robuste conçu pour l'IoT et la domotique.

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