Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
+118
View File
@@ -0,0 +1,118 @@
---
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](https://vernemq.com/) |
| **GitHub** | [vernemq/vernemq](https://github.com/vernemq/vernemq) |
| **License** | Apache-2.0 |
| **Langage** | Erlang |
| **Étoiles GitHub** | 3.3k ⭐ |
| **Catégorie** | [[cat-home-automation\|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é)
```yaml
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)
```bash
# 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
- [Documentation officielle](https://docs.vernemq.com/)
- [Plugin docs](https://docs.vernemq.com/plugins/)
- [Docker Hub](https://hub.docker.com/r/vernemq/vernemq)
## 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