Files
wiki/Catalogue-Self-Hosted/apps/app-mosquitto.md
T
2026-06-09 18:40:21 +02:00

3.9 KiB


title: Eclipse Mosquitto created: 2026-06-08 updated: 2026-06-08 type: app tags: [catalogue, internet-of-things, mqtt, broker, app-marathon3-rattrapage-a] confidence: high contested: false sources: [https://selfh.st/apps/?tag=IoT, https://mosquitto.org/]

🦟 Eclipse Mosquitto

Broker MQTT léger et conforme OASIS : le standard de la messagerie IoT, utilisé dans 90% des projets domotique, capteurs et edge computing.

📋 Informations Générales

Champ Valeur
Site web mosquitto.org
GitHub eclipse/mosquitto
License EPL-2.0
Langage C
Étoiles GitHub 9.8k
Catégorie [[cat-internet-of-things

📝 Description

Eclipse Mosquitto est un broker MQTT open source extrêmement léger, écrit en C par Roger Light et maintenant maintenu sous l'Eclipse Foundation (projet Eclipse IoT).

Pourquoi c'est le standard :

  • Conforme MQTT 3.1.1 et 5.0 (OASIS standard)
  • Poids plume : binaire ~300 KB, RAM idle < 1 MB
  • Support QoS 0/1/2 et messages retenus (retained)
  • Last Will & Testament : notification de déconnexion d'un client
  • Authentification multi-sources : fichier, base, plugin externe
  • TLS/SSL natif (chiffrement + auth client par certificat)
  • Bridge : interconnecter plusieurs brokers
  • Auth plugins : MySQL, PostgreSQL, Redis, JWT
  • WebSockets : support pour clients web (port 8083/8084)

Différence vs RabbitMQ/HiveMQ : Mosquitto = ultra-léger, optimisé pour IoT (milliers de clients avec peu de CPU), gratuit. HiveMQ = plus riche, Java, license commerciale.

Pour qui : projets domotique (Home Assistant, Zigbee2MQTT), capteurs industriels, télémétrie de véhicules, fleet management, edge AI.

🚀 Installation

Docker Compose (recommandé)

version: '3.8'
services:
  mosquitto:
    image: eclipse-mosquitto:2.0
    container_name: mosquitto
    restart: unless-stopped
    ports:
      - "1883:1883"   # MQTT
      - "9001:9001"   # WebSockets (optionnel)
    volumes:
      - ./mosquitto.conf:/mosquitto/config/mosquitto.conf
      - ./passwd:/mosquitto/config/passwd
      - mosquitto_data:/mosquitto/data
      - mosquitto_log:/mosquitto/log

volumes:
  mosquitto_data:
  mosquitto_log:

Configuration minimale

# mosquitto.conf
listener 1883
allow_anonymous false
password_file /mosquitto/config/passwd
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log

Générer le fichier d'utilisateurs

docker run --rm -it eclipse-mosquitto:2.0 \
  mosquitto_passwd -c /mosquitto/config/passwd mqtt_user

🔄 Alternatives

Open Source

  • app-mqtt-web-interface — interface web pour Mosquitto
  • app-zigbee2mqtt — pont MQTT pour Zigbee
  • EMQX — broker MQTT distribué Erlang
  • VerneMQ — broker MQTT en cluster
  • RabbitMQ — broker AMQP généraliste (plugin MQTT)
  • HiveMQ Community — broker Java

Propriétaires

  • AWS IoT Core — MQTT managé dans le cloud AWS
  • Azure IoT Hub — solution Microsoft managée
  • HiveMQ Cloud — broker managé commercial

🔐 Sécurité

  • TLS/SSL : chiffrement de bout en bout (port 8883)
  • Authentification par certificat client : X.509
  • ACL (Access Control Lists) : limiter les topics par utilisateur
  • Auth dynamique : plugins MySQL/Postgres pour utilisateurs en base
  • Rate limiting : limiter les connexions par IP
  • Mises à jour Eclipse : suivre les CVE régulièrement

📚 Ressources

Pages Liées