diff --git a/host_vars/ogg b/host_vars/ogg index 90b4d20f2e4925373352760fd5c326ab569cfab7..7d499710cc3244dd7591edc4d3be0708b263ae21 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 d34fec1e32c90e2091ff65f519e09a10180590ec..3abe72330561e326e41bf49e01f62871d725cdac 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 32ebf09dcaac13d8bd56dc2960200d4a94155674..90fea4c0d4e6337e38bca1ba4a2415cae14d8be0 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 0000000000000000000000000000000000000000..be6bfb7451f8e6bd703f700b780ea61f3cd998a4 --- /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 2ffbeac61ec808411d043f5d8e0dc4ec255206a7..8b2373b7aa6a080dae101c76c3a21c3ab0a16898 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 }