From c4039668da18508674ac3a65c1ddef1c99863458 Mon Sep 17 00:00:00 2001 From: Mario Date: Tue, 10 Mar 2026 08:57:20 +0100 Subject: [PATCH] added roles folder --- .../tasks/create_ha_folder_structure.yml | 28 ++++++++ .../create_postgres_folder_structure.yml | 23 ++++++ .../install_caddy_docker/tasks/copy_files.yml | 9 +++ .../tasks/create_folder_structure.yml | 7 ++ roles/install_caddy_docker/tasks/main.yml | 0 .../tasks/start_docker_container.yml | 4 ++ .../tasks/copy_files.yml | 29 ++++++++ .../tasks/copy_files_ha-grafana.yml | 13 ++++ .../tasks/copy_files_ha-only.yml | 13 ++++ .../tasks/copy_ha_files.yml | 13 ++++ .../tasks/copy_mosquitto_files.yml | 19 +++++ .../tasks/copy_postgres_files.yml | 13 ++++ .../tasks/create_folder_structure.yml | 70 +++++++++++++++++++ .../tasks/main.yml | 0 .../tasks/start_docker_container.yml | 4 ++ .../tasks/start_ha_docker_container.yml | 4 ++ .../start_mosquitto_docker_container.yml | 4 ++ .../tasks/start_postgres_docker_container.yml | 4 ++ .../tasks/stop_docker_container.yml | 4 ++ roles/upgrade_os/tasks/main.yml | 0 roles/upgrade_os/tasks/pi_restart.yml | 0 roles/upgrade_os/tasks/pi_update.yml | 16 +++++ roles/upgrade_os/tasks/pi_upgrade.yml | 12 ++++ 23 files changed, 289 insertions(+) create mode 100644 roles/create_folder_structure/tasks/create_ha_folder_structure.yml create mode 100644 roles/create_folder_structure/tasks/create_postgres_folder_structure.yml create mode 100644 roles/install_caddy_docker/tasks/copy_files.yml create mode 100644 roles/install_caddy_docker/tasks/create_folder_structure.yml create mode 100644 roles/install_caddy_docker/tasks/main.yml create mode 100644 roles/install_caddy_docker/tasks/start_docker_container.yml create mode 100644 roles/install_homeassistant_docker/tasks/copy_files.yml create mode 100644 roles/install_homeassistant_docker/tasks/copy_files_ha-grafana.yml create mode 100644 roles/install_homeassistant_docker/tasks/copy_files_ha-only.yml create mode 100644 roles/install_homeassistant_docker/tasks/copy_ha_files.yml create mode 100644 roles/install_homeassistant_docker/tasks/copy_mosquitto_files.yml create mode 100644 roles/install_homeassistant_docker/tasks/copy_postgres_files.yml create mode 100644 roles/install_homeassistant_docker/tasks/create_folder_structure.yml create mode 100644 roles/install_homeassistant_docker/tasks/main.yml create mode 100644 roles/install_homeassistant_docker/tasks/start_docker_container.yml create mode 100644 roles/install_homeassistant_docker/tasks/start_ha_docker_container.yml create mode 100644 roles/install_homeassistant_docker/tasks/start_mosquitto_docker_container.yml create mode 100644 roles/install_homeassistant_docker/tasks/start_postgres_docker_container.yml create mode 100644 roles/install_homeassistant_docker/tasks/stop_docker_container.yml create mode 100644 roles/upgrade_os/tasks/main.yml create mode 100644 roles/upgrade_os/tasks/pi_restart.yml create mode 100644 roles/upgrade_os/tasks/pi_update.yml create mode 100644 roles/upgrade_os/tasks/pi_upgrade.yml diff --git a/roles/create_folder_structure/tasks/create_ha_folder_structure.yml b/roles/create_folder_structure/tasks/create_ha_folder_structure.yml new file mode 100644 index 0000000..6c82acd --- /dev/null +++ b/roles/create_folder_structure/tasks/create_ha_folder_structure.yml @@ -0,0 +1,28 @@ +- name: create file structure for home-assistant docker installation + ansible.builtin.file: + path: /home/{{ ansible_user }}/home-assistant-components + state: directory + owner: "{{ ansible_user }}" + group: "{{ ansible_user }}" + mode: "0755" +- name: create subfolder home-assistant + ansible.builtin.file: + path: /home/{{ ansible_user }}/home-assistant-components/home-assistant + state: directory + owner: "{{ ansible_user }}" + group: "{{ ansible_user }}" + mode: "0755" +- name: create subfolder config + ansible.builtin.file: + path: /home/{{ ansible_user }}/home-assistant-components/home-assistant/config + state: directory + owner: "{{ ansible_user }}" + group: "{{ ansible_user }}" + mode: "0755" +- name: create subfolder media + ansible.builtin.file: + path: /home/{{ ansible_user }}/home-assistant-components/home-assistant/media + state: directory + owner: "{{ ansible_user }}" + group: "{{ ansible_user }}" + mode: "0755" diff --git a/roles/create_folder_structure/tasks/create_postgres_folder_structure.yml b/roles/create_folder_structure/tasks/create_postgres_folder_structure.yml new file mode 100644 index 0000000..1ae4032 --- /dev/null +++ b/roles/create_folder_structure/tasks/create_postgres_folder_structure.yml @@ -0,0 +1,23 @@ +#- name: create file structure for postgres docker installation + +- name: check if directory exists + ansible.builtin.stat: + path: /home/"{{ ansible_user }}"/home-assistant-components + register: ha_comp_folder + +- name: create file structure for home-assistant docker installation + ansible.builtin.file: + path: /home/"{{ ansible_user }}"/home-assistant-components + state: directory + owner: "{{ ansible_user }}" + group: "{{ ansible_user }}" + mode: "0755" + when: not ha_comp_folder.stat.exists + +- name: create subfolder home-assistant + ansible.builtin.file: + path: /home/"{{ ansible_user }}"/home-assistant-components/postgres + state: directory + owner: "{{ ansible_user }}" + group: "{{ ansible_user }}" + mode: "0755" diff --git a/roles/install_caddy_docker/tasks/copy_files.yml b/roles/install_caddy_docker/tasks/copy_files.yml new file mode 100644 index 0000000..3a7f545 --- /dev/null +++ b/roles/install_caddy_docker/tasks/copy_files.yml @@ -0,0 +1,9 @@ +- name: copy Caddyfile and docker-compose file to the remote caddy host + ansible.builtin.copy: + src: "{{ item.src }}" + dest: "{{ item.dest }}" + loop: + - src: /home/mario/persistant-data/ansible/data/caddy/Caddyfile + dest: /home/mario/caddy + - src: /home/mario/persistant-data/ansible/data/caddy/docker-compose.yml + dest: /home/mario/caddy diff --git a/roles/install_caddy_docker/tasks/create_folder_structure.yml b/roles/install_caddy_docker/tasks/create_folder_structure.yml new file mode 100644 index 0000000..619c28e --- /dev/null +++ b/roles/install_caddy_docker/tasks/create_folder_structure.yml @@ -0,0 +1,7 @@ +- name: create file structure for caddy docker installation + ansible.builtin.file: + path: /home/mario/caddy + state: directory + owner: mario + group: mario + mode: "0755" diff --git a/roles/install_caddy_docker/tasks/main.yml b/roles/install_caddy_docker/tasks/main.yml new file mode 100644 index 0000000..e69de29 diff --git a/roles/install_caddy_docker/tasks/start_docker_container.yml b/roles/install_caddy_docker/tasks/start_docker_container.yml new file mode 100644 index 0000000..05fb0e6 --- /dev/null +++ b/roles/install_caddy_docker/tasks/start_docker_container.yml @@ -0,0 +1,4 @@ +- name: pull and start caddy container + become: true + ansible.builtin.shell: + cmd: cd /home/mario/caddy; docker network create proxy-network; docker compose up -d diff --git a/roles/install_homeassistant_docker/tasks/copy_files.yml b/roles/install_homeassistant_docker/tasks/copy_files.yml new file mode 100644 index 0000000..2fda5dc --- /dev/null +++ b/roles/install_homeassistant_docker/tasks/copy_files.yml @@ -0,0 +1,29 @@ +- name: copy ha docker-compose file to the remote homeassistant host + ansible.builtin.copy: + src: "{{ item.src }}" + dest: "{{ item.dest }}" + loop: + - src: /home/mario/persistant-data/ansible/data/homeassistant/docker-compose.yml + dest: /home/ramon/home-assistant-components/home-assistant/ + when: "{{ ha }}" + + - src: /home/mario/persistant-data/ansible/data/postgres/docker-compose.yml + dest: /home/ramon/home-assistant-components/postgres/ + when: "{{ pg }}" + + - src: /home/mario/persistant-data/ansible/data/mosquitto/docker-compose.yml + dest: /home/ramon/home-assistant-components/mosquitto/ + when: "{{ mq }}" + + - src: /home/mario/persistant-data/ansible/data/mosquitto/mosquitto.log + dest: /home/ramon/home-assistant-components/mosquitto/log/ + when: "{{ mq }}" + - src: /home/mario/persistant-data/ansible/data/mosquitto/mosquitto.conf + dest: /home/ramon/home-assistant-components/mosquitto/config/ + when: "{{ mq }}" + #- src: /home/ramon/persistant-data/ansible/data/homeassistant/mosquitto/mosquitto.conf + # dest: /home/ramon/home-assistant/mosquitto/config + #- src: /home/ramon/persistant-data/ansible/data/homeassistant/mosquitto/mosquitto.passwd + # dest: /home/ramon/home-assistant/mosquitto/config + #- src: /home/ramon/persistant-data/ansible/data/homeassistant/mosquitto/mosquitto.log + # dest: /home/ramon/home-assistant/mosquitto/log diff --git a/roles/install_homeassistant_docker/tasks/copy_files_ha-grafana.yml b/roles/install_homeassistant_docker/tasks/copy_files_ha-grafana.yml new file mode 100644 index 0000000..515db02 --- /dev/null +++ b/roles/install_homeassistant_docker/tasks/copy_files_ha-grafana.yml @@ -0,0 +1,13 @@ +- name: copy docker-compose file to the remote homeassistant host + ansible.builtin.copy: + src: "{{ item.src }}" + dest: "{{ item.dest }}" + loop: + - src: /home/mario/persistant-data/ansible/data/homeassistant/docker-compose-max.yml + dest: /home/mario/home-assistant/docker-compose.yml + - src: /home/mario/persistant-data/ansible/data/homeassistant/mosquitto/mosquitto.conf + dest: /home/mario/home-assistant/mosquitto/config + - src: /home/mario/persistant-data/ansible/data/homeassistant/mosquitto/mosquitto.passwd + dest: /home/mario/home-assistant/mosquitto/config + - src: /home/mario/persistant-data/ansible/data/homeassistant/mosquitto/mosquitto.log + dest: /home/mario/home-assistant/mosquitto/log diff --git a/roles/install_homeassistant_docker/tasks/copy_files_ha-only.yml b/roles/install_homeassistant_docker/tasks/copy_files_ha-only.yml new file mode 100644 index 0000000..bc588fc --- /dev/null +++ b/roles/install_homeassistant_docker/tasks/copy_files_ha-only.yml @@ -0,0 +1,13 @@ +- name: copy docker-compose file to the remote homeassistant host + ansible.builtin.copy: + src: "{{ item.src }}" + dest: "{{ item.dest }}" + loop: + - src: /home/mario/persistant-data/ansible/data/homeassistant/docker-compose-min.yml + dest: /home/mario/home-assistant/docker-compose-ha-only.yml + #- src: /home/mario/persistant-data/ansible/data/homeassistant/mosquitto/mosquitto.conf + # dest: /home/mario/home-assistant/mosquitto/config + #- src: /home/mario/persistant-data/ansible/data/homeassistant/mosquitto/mosquitto.passwd + # dest: /home/mario/home-assistant/mosquitto/config + #- src: /home/mario/persistant-data/ansible/data/homeassistant/mosquitto/mosquitto.log + # dest: /home/mario/home-assistant/mosquitto/log diff --git a/roles/install_homeassistant_docker/tasks/copy_ha_files.yml b/roles/install_homeassistant_docker/tasks/copy_ha_files.yml new file mode 100644 index 0000000..8e4bfdf --- /dev/null +++ b/roles/install_homeassistant_docker/tasks/copy_ha_files.yml @@ -0,0 +1,13 @@ +- name: copy ha docker-compose file to the remote homeassistant host + ansible.builtin.copy: + src: "{{ item.src }}" + dest: "{{ item.dest }}" + loop: + - src: /home/mario/persistant-data/ansible/data/homeassistant/docker-compose.yml + dest: /home/{{ ansible_user }}/home-assistant-components/home-assistant/ + #- src: /home/ramon/persistant-data/ansible/data/homeassistant/mosquitto/mosquitto.conf + # dest: /home/ramon/home-assistant/mosquitto/config + #- src: /home/ramon/persistant-data/ansible/data/homeassistant/mosquitto/mosquitto.passwd + # dest: /home/ramon/home-assistant/mosquitto/config + #- src: /home/ramon/persistant-data/ansible/data/homeassistant/mosquitto/mosquitto.log + # dest: /home/ramon/home-assistant/mosquitto/log diff --git a/roles/install_homeassistant_docker/tasks/copy_mosquitto_files.yml b/roles/install_homeassistant_docker/tasks/copy_mosquitto_files.yml new file mode 100644 index 0000000..b480599 --- /dev/null +++ b/roles/install_homeassistant_docker/tasks/copy_mosquitto_files.yml @@ -0,0 +1,19 @@ +- name: copy mosquitto docker-compose file to the remote homeassistant host + ansible.builtin.copy: + src: "{{ item.src }}" + dest: "{{ item.dest }}" + loop: + - src: /home/mario/persistant-data/ansible/data/mosquitto/docker-compose.yml + dest: /home/{{ ansible_user }}/home-assistant-components/mosquitto/ + - src: /home/mario/persistant-data/ansible/data/mosquitto/mosquitto.conf + dest: /home/{{ ansible_user }}/home-assistant-components/mosquitto/config/ + - src: /home/mario/persistant-data/ansible/data/mosquitto/mosquitto.log + dest: /home/{{ ansible_user }}/home-assistant-components/mosquitto/log/ + - src: /home/mario/persistant-data/ansible/data/mosquitto/mosquitto.passwd + dest: /home/{{ ansible_user }}/home-assistant-components/mosquitto/config/ + #- src: /home/ramon/persistant-data/ansible/data/homeassistant/mosquitto/mosquitto.conf + # dest: /home/ramon/home-assistant/mosquitto/config + #- src: /home/ramon/persistant-data/ansible/data/homeassistant/mosquitto/mosquitto.passwd + # dest: /home/ramon/home-assistant/mosquitto/config + #- src: /home/ramon/persistant-data/ansible/data/homeassistant/mosquitto/mosquitto.log + # dest: /home/ramon/home-assistant/mosquitto/log diff --git a/roles/install_homeassistant_docker/tasks/copy_postgres_files.yml b/roles/install_homeassistant_docker/tasks/copy_postgres_files.yml new file mode 100644 index 0000000..65a793e --- /dev/null +++ b/roles/install_homeassistant_docker/tasks/copy_postgres_files.yml @@ -0,0 +1,13 @@ +- name: copy postgres docker-compose file to the remote homeassistant host + ansible.builtin.copy: + src: "{{ item.src }}" + dest: "{{ item.dest }}" + loop: + - src: /home/mario/persistant-data/ansible/data/postgres/docker-compose.yml + dest: /home/{{ ansible_user }}/home-assistant-components/postgres/ + #- src: /home/ramon/persistant-data/ansible/data/homeassistant/mosquitto/mosquitto.conf + # dest: /home/ramon/home-assistant/mosquitto/config + #- src: /home/ramon/persistant-data/ansible/data/homeassistant/mosquitto/mosquitto.passwd + # dest: /home/ramon/home-assistant/mosquitto/config + #- src: /home/ramon/persistant-data/ansible/data/homeassistant/mosquitto/mosquitto.log + # dest: /home/ramon/home-assistant/mosquitto/log diff --git a/roles/install_homeassistant_docker/tasks/create_folder_structure.yml b/roles/install_homeassistant_docker/tasks/create_folder_structure.yml new file mode 100644 index 0000000..e61a298 --- /dev/null +++ b/roles/install_homeassistant_docker/tasks/create_folder_structure.yml @@ -0,0 +1,70 @@ +- name: create file structure for homeassistant docker installation + ansible.builtin.file: + path: /home/mario/home-assistant + state: directory + owner: mario + group: mario + mode: "0755" +- name: create subfolder config + ansible.builtin.file: + path: /home/mario/home-assistant/config + state: directory + owner: mario + group: mario + mode: "0755" +- name: create subfolder media + ansible.builtin.file: + path: /home/mario/home-assistant/media + state: directory + owner: mario + group: mario + mode: "0755" +- name: create file structure for nodered docker installation + ansible.builtin.file: + path: /home/mario/home-assistant/nodered + state: directory + owner: mario + group: mario + mode: "0755" +- name: create file structure for mosquitto docker installation + ansible.builtin.file: + path: /home/mario/home-assistant/mosquitto + state: directory + owner: mario + group: mario + mode: "0755" +- name: create subfolder for mosquitto config + ansible.builtin.file: + path: /home/mario/home-assistant/mosquitto/config + state: directory + owner: mario + group: mario + mode: "0755" +- name: create subfolder for mosquitto data + ansible.builtin.file: + path: /home/mario/home-assistant/mosquitto/data + state: directory + owner: 1883 + group: 1883 + mode: "0755" +- name: create subfolder for mosquitto log + ansible.builtin.file: + path: /home/mario/home-assistant/mosquitto/log + state: directory + owner: mario + group: mario + mode: "0755" +- name: create file structure for influxdb docker installation + ansible.builtin.file: + path: /home/mario/home-assistant/influxdb + state: directory + owner: mario + group: mario + mode: "0755" +- name: create file structure for grafana docker installation + ansible.builtin.file: + path: /home/mario/home-assistant/grafana + state: directory + owner: mario + group: mario + mode: "0755" diff --git a/roles/install_homeassistant_docker/tasks/main.yml b/roles/install_homeassistant_docker/tasks/main.yml new file mode 100644 index 0000000..e69de29 diff --git a/roles/install_homeassistant_docker/tasks/start_docker_container.yml b/roles/install_homeassistant_docker/tasks/start_docker_container.yml new file mode 100644 index 0000000..750db4b --- /dev/null +++ b/roles/install_homeassistant_docker/tasks/start_docker_container.yml @@ -0,0 +1,4 @@ +- name: pull and start caddy container + become: true + ansible.builtin.shell: + cmd: cd /home/mario/home-assistant; docker compose up -d diff --git a/roles/install_homeassistant_docker/tasks/start_ha_docker_container.yml b/roles/install_homeassistant_docker/tasks/start_ha_docker_container.yml new file mode 100644 index 0000000..f6054be --- /dev/null +++ b/roles/install_homeassistant_docker/tasks/start_ha_docker_container.yml @@ -0,0 +1,4 @@ +- name: pull and start homeassistant container + become: true + ansible.builtin.shell: + cmd: cd /home/{{ ansible_user }}/home-assistant-components/home-assistant; docker compose up -d diff --git a/roles/install_homeassistant_docker/tasks/start_mosquitto_docker_container.yml b/roles/install_homeassistant_docker/tasks/start_mosquitto_docker_container.yml new file mode 100644 index 0000000..59ab2ae --- /dev/null +++ b/roles/install_homeassistant_docker/tasks/start_mosquitto_docker_container.yml @@ -0,0 +1,4 @@ +- name: pull and start postgres container + become: true + ansible.builtin.shell: + cmd: cd /home/{{ ansible_user }}/home-assistant-components/mosquitto; docker compose up -d diff --git a/roles/install_homeassistant_docker/tasks/start_postgres_docker_container.yml b/roles/install_homeassistant_docker/tasks/start_postgres_docker_container.yml new file mode 100644 index 0000000..ac5848b --- /dev/null +++ b/roles/install_homeassistant_docker/tasks/start_postgres_docker_container.yml @@ -0,0 +1,4 @@ +- name: pull and start postgres container + become: true + ansible.builtin.shell: + cmd: cd /home/{{ ansible_user }}/home-assistant-components/postgres; docker compose up -d diff --git a/roles/install_homeassistant_docker/tasks/stop_docker_container.yml b/roles/install_homeassistant_docker/tasks/stop_docker_container.yml new file mode 100644 index 0000000..b0331d2 --- /dev/null +++ b/roles/install_homeassistant_docker/tasks/stop_docker_container.yml @@ -0,0 +1,4 @@ +- name: pull and start caddy container + become: true + ansible.builtin.shell: + cmd: cd /home/mario/home-assistant; docker compose down -d diff --git a/roles/upgrade_os/tasks/main.yml b/roles/upgrade_os/tasks/main.yml new file mode 100644 index 0000000..e69de29 diff --git a/roles/upgrade_os/tasks/pi_restart.yml b/roles/upgrade_os/tasks/pi_restart.yml new file mode 100644 index 0000000..e69de29 diff --git a/roles/upgrade_os/tasks/pi_update.yml b/roles/upgrade_os/tasks/pi_update.yml new file mode 100644 index 0000000..0c5ede0 --- /dev/null +++ b/roles/upgrade_os/tasks/pi_update.yml @@ -0,0 +1,16 @@ +- name: create file to write in + become: false + command: touch output.txt + +- name: call apt update + become: true + shell: apt update + register: os_info + +- name: write to output.txt + copy: + content: "{{os_info.stdout_lines}}" + dest: output.txt + +- debug: + msg: "{{os_info.stdout_lines}}" \ No newline at end of file diff --git a/roles/upgrade_os/tasks/pi_upgrade.yml b/roles/upgrade_os/tasks/pi_upgrade.yml new file mode 100644 index 0000000..bcb51ac --- /dev/null +++ b/roles/upgrade_os/tasks/pi_upgrade.yml @@ -0,0 +1,12 @@ +- name: call apt update + become: true + shell: apt update + register: os_info + +- name: write to output.txt + copy: + content: "{{os_info.stdout_lines}}" + dest: output.txt + +- debug: + msg: "{{os_info.stdout_lines}}" \ No newline at end of file