Eclipse Mosquitto - MQTT-Broker für Smart-Home und IoT

Eclipse Mosquitto - MQTT-Broker für Smart-Home und IoT

Eclipse Mosquitto ist ein schlanker, quelloffener MQTT-Broker, der sich ideal für die Vernetzung von Smart-Home-Geräten und IoT-Sensoren eignet.

Was ist Eclipse Mosquitto?

MQTT (Message Queuing Telemetry Transport) ist ein leichtgewichtiges Publish-Subscribe-Protokoll, das speziell für Geräte mit geringer Bandbreite und begrenzter Rechenleistung entwickelt wurde. Eclipse Mosquitto implementiert dieses Protokoll als eigenständigen Broker und vermittelt Nachrichten zwischen Sensoren, Aktoren und Steuerungsanwendungen. In typischen Smart-Home-Setups fungiert Mosquitto als zentraler Nachrichtenbus zwischen Systemen wie Home Assistant, Zigbee2MQTT oder selbst entwickelten ESP32-Projekten. Dank seines minimalen Ressourcenbedarfs läuft er problemlos auf einem Raspberry Pi oder einem kleinen VPS.

Voraussetzungen

  • Docker 20.10+ / Docker Compose
  • Offene Ports 1883 (MQTT) und optional 9001 (WebSocket)
  • Konfigurationsdatei mosquitto.conf im Datenordner

Compose-Beispiel

services:
  mosquitto:
    image: eclipse-mosquitto:latest
    container_name: mosquitto
    restart: unless-stopped
    ports:
      - "1883:1883"
      - "9001:9001"
    volumes:
      - ./config:/mosquitto/config
      - ./data:/mosquitto/data
      - ./log:/mosquitto/log

Minimale config/mosquitto.conf:

listener 1883
allow_anonymous true
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log

Hinweise

  • Authentifizierung aktivieren: Für produktive Umgebungen niemals allow_anonymous true belassen. Passwortdateien lassen sich mit mosquitto_passwd direkt im Container erstellen.
  • TLS absichern: Mit einem Let's-Encrypt-Zertifikat und den cafile-, certfile- und keyfile-Direktiven in der Konfiguration lässt sich MQTT über Port 8883 verschlüsseln.
  • WebSocket für Browser-Clients: Der WebSocket-Listener (Port 9001) ist nötig, wenn JavaScript-Clients direkt im Browser MQTT-Nachrichten empfangen sollen.
  • Home Assistant Integration: Mosquitto lässt sich in Home Assistant als MQTT-Broker unter Einstellungen → Integrationen → MQTT mit Host-IP und Port 1883 einrichten.