87 lines
2.2 KiB
YAML
87 lines
2.2 KiB
YAML
---
|
|
- hosts: radon.n39.eu
|
|
become: true
|
|
|
|
vars:
|
|
ansible_python_interpreter: /usr/bin/python3
|
|
|
|
data_dir: "/srv/data"
|
|
|
|
mosquitto_image: eclipse-mosquitto:2.0.14
|
|
mosquitto_data: "{{ data_dir }}/mosquitto"
|
|
|
|
nodered_image: nodered/node-red:3.0.1-1-18
|
|
nodered_data: "{{ data_dir }}/nodered"
|
|
|
|
roles:
|
|
- role: docker_setup
|
|
vars:
|
|
docker_data_root: "/srv/docker"
|
|
|
|
tasks:
|
|
- name: Ensure the mosquitto directories exist
|
|
file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
with_items:
|
|
- "{{ mosquitto_data }}/config"
|
|
- "{{ mosquitto_data }}/data"
|
|
- "{{ mosquitto_data }}/log"
|
|
|
|
- name: Make sure mosquitto config is there
|
|
template:
|
|
src: "templates/mosquitto.conf.j2"
|
|
dest: "{{ mosquitto_data }}/config/mosquitto.conf"
|
|
notify: restart mosquitto
|
|
|
|
- name: Ensure mosquitto is running
|
|
docker_container:
|
|
name: mosquitto
|
|
image: "{{ mosquitto_image }}"
|
|
pull: true
|
|
state: started
|
|
ports:
|
|
- 1883:1883
|
|
- 9001:9001
|
|
volumes:
|
|
- "{{ mosquitto_data }}/config:/mosquitto/config"
|
|
- "{{ mosquitto_data }}/data:/mosquitto/data"
|
|
- "{{ mosquitto_data }}/log:/mosquitto/log"
|
|
detach: yes
|
|
keep_volumes: yes
|
|
restart_policy: unless-stopped
|
|
|
|
- name: Check if nodered data dir exists
|
|
ansible.builtin.stat:
|
|
path: "{{ data_dir }}/nodered"
|
|
register: nodered_dir
|
|
- name: Fail if nodered data dir does not exist
|
|
ansible.builtin.fail:
|
|
msg: "Nodered data dir is missing, please restore from the backup!"
|
|
when: not nodered_dir.stat.exists
|
|
|
|
- name: Ensure nodered is running
|
|
docker_container:
|
|
name: nodered
|
|
image: "{{ nodered_image }}"
|
|
pull: true
|
|
state: started
|
|
env:
|
|
TZ: Europe/Berlin
|
|
NODE_RED_ENABLE_PROJECTS: "true"
|
|
ports:
|
|
# - 127.0.0.1:9002:1880
|
|
- 9002:1880
|
|
volumes:
|
|
- "{{ nodered_data }}/data:/data"
|
|
detach: yes
|
|
keep_volumes: yes
|
|
restart_policy: unless-stopped
|
|
|
|
|
|
handlers:
|
|
- name: restart mosquitto
|
|
docker_container:
|
|
name: mosquitto
|
|
state: started
|
|
restart: yes
|