feat(db): add rabittmq as mqtt stack

This commit is contained in:
2026-04-13 21:39:28 +02:00
parent b47032db56
commit 1c94217232
4 changed files with 46 additions and 1 deletions

View File

@@ -1,2 +1,4 @@
INFLUX_PORT=8181
UI_PORT=8093
MQTT_USERNAME=
MQTT_PASSWORD=

View File

@@ -6,7 +6,7 @@
echo "apiv3_$(openssl rand -base64 64 | tr -d '+/=')" > secrets/admin-token.txt
```
2. Copy `.env.template` to `.env` and change value if necessary:
2. Copy `.env.template` to `.env` and change/add value if necessary:
```bash
cp .env.template .env

View File

@@ -60,8 +60,23 @@ services:
provence || echo "Database provence already exists"
'
mqtt:
image: rabbitmq:4-management-alpine
container_name: mqtt
restart: unless-stopped
ports:
- "15672:15672" # Management plugin HTTP port
- "1883:1883" # MQTT port
volumes:
- rabbitmq_data:/var/lib/rabbitmq
environment:
- RABBITMQ_DEFAULT_USER=$MQTT_USERNAME
- RABBITMQ_DEFAULT_PASS=$MQTT_PASSWORD
command: sh -c "rabbitmq-plugins enable rabbitmq_mqtt && rabbitmq-server"
volumes:
influxdb3_data:
rabbitmq_data:
secrets:
admin-token:

View File

@@ -19,6 +19,13 @@ http:
certResolver: letsencrypt
# middlewares:
# - oidc-auth-pi-db@file
pi-mqtt-management:
rule: "Host(`mqtt.e.kb28.ch`)"
entryPoints:
- websecure
service: pi-mqtt-management
tls:
certResolver: letsencrypt
services:
pi-db:
@@ -26,3 +33,24 @@ http:
servers:
- url: "http://192.168.42.211:8093"
passHostHeader: true
pi-mqtt-management:
loadBalancer:
servers:
- url: "http://192.168.42.211:15672"
passHostHeader: true
tcp:
routers:
pi-mqtt:
rule: "HostSNI(`mqtt.e.kb28.ch`)"
entryPoints:
- "mqttsecure"
service: pi-mqtt
tls:
certResolver: "letsencrypt"
services:
pi-mqtt:
loadBalancer:
servers:
- address: "192.168.42.211:8883"