From 38f13b10df9cd99160ee0f498328aea104441bbb Mon Sep 17 00:00:00 2001 From: Christian Elberfeld <6413499+elberfeld@users.noreply.github.com> Date: Tue, 6 Aug 2024 20:46:51 +0200 Subject: [PATCH] mqtt explorer --- host_vars/ogg | 1 + intern/docker_mqtt/tasks/main.yml | 1 + .../docker_mqtt/templates/docker-compose.yml | 32 +++++++++++++++++++ intern/docker_mqtt/templates/settings.json | 26 +++++++++++++++ site.yml | 1 + 5 files changed, 61 insertions(+) create mode 100644 intern/docker_mqtt/templates/settings.json diff --git a/host_vars/ogg b/host_vars/ogg index 90b4d20f..7d499710 100644 --- a/host_vars/ogg +++ b/host_vars/ogg @@ -61,6 +61,7 @@ alert: - { name: "homeassistant-app-1" } - { name: "homeassistant-influxdb-1" } - { name: "mqtt-app-1" } + - { name: "mqtt-explorer-1" } - { name: "mqtt-influxdb-1" } - { name: "mqtt-tgbinary-1" } - { name: "mqtt-tgfloat-1" } diff --git a/intern/docker_mqtt/tasks/main.yml b/intern/docker_mqtt/tasks/main.yml index d34fec1e..3abe7233 100644 --- a/intern/docker_mqtt/tasks/main.yml +++ b/intern/docker_mqtt/tasks/main.yml @@ -22,6 +22,7 @@ with_items: - docker-compose.yml - mosquitto.conf + - settings.json - telegraf_binary.conf - telegraf_float.conf register: config_files diff --git a/intern/docker_mqtt/templates/docker-compose.yml b/intern/docker_mqtt/templates/docker-compose.yml index 32ebf09d..90fea4c0 100644 --- a/intern/docker_mqtt/templates/docker-compose.yml +++ b/intern/docker_mqtt/templates/docker-compose.yml @@ -10,6 +10,27 @@ services: - {{ basedir }}/mosquitto.conf:/mosquitto/config/mosquitto.conf - {{ basedir }}/data:/mosquitto/data - {{ basedir }}/log:/mosquitto/log + networks: + - default + + + explorer: + + image: smeagolworms4/mqtt-explorer + restart: always + volumes: + - {{ basedir }}/settings.json:/mqtt-explorer/config/settings.json:ro + environment: + HTTP_PORT: 8080 + CONFIG_PATH: "/mqtt-explorer/config" + labels: + - traefik.enable=true + - traefik.http.routers.{{ servicename }}.rule=Host(`{{ domain }}`) + - traefik.http.routers.{{ servicename }}.entrypoints=websecure + - traefik.http.services.{{ servicename }}.loadbalancer.server.port=8080 + networks: + - default + - web influxdb: @@ -28,6 +49,8 @@ services: DOCKER_INFLUXDB_INIT_ORG: mqtt DOCKER_INFLUXDB_INIT_BUCKET: mqtt DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: {{ influxdb_token }} + networks: + - default tgbinary: @@ -39,6 +62,8 @@ services: - influxdb volumes: - "{{ basedir }}/telegraf_binary.conf:/etc/telegraf/telegraf.conf:ro" + networks: + - default tgfloat: @@ -50,3 +75,10 @@ services: - influxdb volumes: - "{{ basedir }}/telegraf_float.conf:/etc/telegraf/telegraf.conf:ro" + networks: + - default + + +networks: + web: + external: true diff --git a/intern/docker_mqtt/templates/settings.json b/intern/docker_mqtt/templates/settings.json new file mode 100644 index 00000000..be6bfb74 --- /dev/null +++ b/intern/docker_mqtt/templates/settings.json @@ -0,0 +1,26 @@ +{ + "ConnectionManager_connections": { + "mqtt-local": { + "configVersion": 1, + "certValidation": true, + "clientId": "mqtt-explorer", + "id": "mqtt-local", + "name": "MQTT", + "encryption": false, + "subscriptions": [ + { + "topic": "#", + "qos": 0 + }, + { + "topic": "$SYS/#", + "qos": 0 + } + ], + "type": "mqtt", + "host": "app", + "port": 1883, + "protocol": "mqtt" + } + } + } diff --git a/site.yml b/site.yml index 2ffbeac6..8b2373b7 100644 --- a/site.yml +++ b/site.yml @@ -203,6 +203,7 @@ role: intern/docker_mqtt, tags: [ mqtt, docker_services ], servicename: mqtt, basedir: /srv/mqtt, + domain: "mqtt.warpzone.lan", mqtt_port: 1883, influxdb_port: 18086 } -- GitLab