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.confim 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 truebelassen. Passwortdateien lassen sich mitmosquitto_passwddirekt im Container erstellen. - TLS absichern: Mit einem Let's-Encrypt-Zertifikat und den
cafile-,certfile- undkeyfile-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.