diff --git a/intern/docker_mqtt/tasks/main.yml b/intern/docker_mqtt/tasks/main.yml index f4c51a4cd5ecc92bafc2b4d40424f4b83088e112..5ec3addedfe1668ecc9be993d9e4f5a577080f42 100644 --- a/intern/docker_mqtt/tasks/main.yml +++ b/intern/docker_mqtt/tasks/main.yml @@ -1,28 +1,31 @@ --- - include: ../functions/get_secret.yml with_items: - - { path: /srv/mqtt/influxdb_password, length: 12 } - - { path: /srv/mqtt/influxdb_token, length: 24 } + - { path: "{{ basedir }}/influxdb_password", length: 12 } + - { path: "{{ basedir }}/influxdb_token", length: 24 } -- name: create folder struct for mqtt +- name: "create folder struct for {{ servicename }}" file: path: "{{ item }}" state: "directory" with_items: - - /srv/mqtt/ - - /srv/mqtt/data/ - - /srv/mqtt/log/ - - /srv/mqtt/influxdb-data/ - - /srv/mqtt/influxdb-conf/ + - "{{ basedir }}" + - "{{ basedir }}/data/" + - "{{ basedir }}/log/" + - "{{ basedir }}/influxdb-data/" + - "{{ basedir }}/influxdb-conf/" -- name: create config files - template: src={{ item }} dest=/srv/mqtt/{{ item }} +- name: "create {{ servicename }} config files" + template: + src: "{{ item }}" + dest: "{{ basedir }}/{{ item }}" with_items: - docker-compose.yml + - mosquitto.conf - telegraf.conf -- name: start mqtt docker +- name: "start {{ servicename }} docker" docker_compose: - project_src: /srv/mqtt/ + project_src: "{{ basedir }}" state: present diff --git a/intern/docker_mqtt/templates/docker-compose.yml b/intern/docker_mqtt/templates/docker-compose.yml index cc3ef80f00d8c58edf76558685a103c175c55e2e..52e5c837bbc9ada90d78ea0cdc6cdc9e4c393d83 100644 --- a/intern/docker_mqtt/templates/docker-compose.yml +++ b/intern/docker_mqtt/templates/docker-compose.yml @@ -4,25 +4,25 @@ services: app: - image: eclipse-mosquitto:1.6.12 + image: eclipse-mosquitto:2.0.15 restart: always ports: - - 1883:1883 - - 9001:9001 + - "{{mqtt_port}}:1883" volumes: - - /srv/mqtt/data:/mosquitto/data - - /srv/mqtt/log:/mosquitto/log + - {{ basedir }}/mosquitto.conf:/mosquitto/config/mosquitto.conf + - {{ basedir }}/data:/mosquitto/data + - {{ basedir }}/log:/mosquitto/log influxdb: - image: influxdb:2.0.9 + image: influxdb:2.5.0 restart: always ports: - {{ int_ip4 }}:{{ influxdb_port }}:8086 volumes: - - /srv/mqtt/influxdb-data:/var/lib/influxdb2 - - /srv/mqtt/influxdb-conf:/etc/influxdb2 + - {{ basedir }}/influxdb-data:/var/lib/influxdb2 + - {{ basedir }}/influxdb-conf:/etc/influxdb2 environment: DOCKER_INFLUXDB_INIT_MODE: setup DOCKER_INFLUXDB_INIT_USERNAME: mqtt @@ -31,12 +31,13 @@ services: DOCKER_INFLUXDB_INIT_BUCKET: mqtt DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: {{ influxdb_token }} + telegraf: - image: telegraf:1.20.3 + image: telegraf:1.22.4 restart: always depends_on: - app - influxdb volumes: - - /srv/mqtt/telegraf.conf:/etc/telegraf/telegraf.conf:ro + - {{ basedir }}/telegraf.conf:/etc/telegraf/telegraf.conf:ro diff --git a/intern/docker_mqtt/templates/mosquitto.conf b/intern/docker_mqtt/templates/mosquitto.conf new file mode 100644 index 0000000000000000000000000000000000000000..e8a62f5e44598e164890a61eb1d4f1e3684be8ef --- /dev/null +++ b/intern/docker_mqtt/templates/mosquitto.conf @@ -0,0 +1,7 @@ + +listener {{ mqtt_port }} + +allow_anonymous true + +persistence true +persistence_location /mosquitto/data/ diff --git a/site.yml b/site.yml index 78529fc92ce2c2dcc06ae4f6bd381d8feb006dad..4ebad002b01c3deecb2ac40b191757ad83f6f46f 100644 --- a/site.yml +++ b/site.yml @@ -52,9 +52,10 @@ basedir: /srv/heimdall } - { - role: intern/docker_mqtt, - tags: mqtt, + role: intern/docker_mqtt, tags: mqtt, servicename: mqtt, + basedir: /srv/mqtt, + mqtt_port: 1883, influxdb_port: 18086 } - {