From ddb8ca776c74b22105d59e32f2f64285ec9fa505 Mon Sep 17 00:00:00 2001 From: Christian Elberfeld <elberfeld@web.de> Date: Fri, 21 Jun 2024 12:26:46 +0200 Subject: [PATCH] restart docker after config change --- common/docker_dockerstats/tasks/main.yml | 12 +++++++++--- common/docker_watchtower/tasks/main.yml | 11 +++++++++-- intern/docker_fridgeserver/tasks/main.yml | 12 ++++++++++-- intern/docker_grafana/tasks/main.yml | 11 +++++++++-- intern/docker_heimdall/tasks/main.yml | 16 ++++++++++++---- intern/docker_mqtt/tasks/main.yml | 7 +++++++ intern/docker_nodered/tasks/main.yml | 12 ++++++++++-- intern/docker_omada/tasks/main.yml | 7 +++++++ intern/docker_tasmoadmin/tasks/main.yml | 15 +++++++++++++-- remote/docker_homeassistant/tasks/main.yml | 1 + testserver/docker_dockerstats/tasks/main.yml | 3 +++ testserver/docker_gitea/tasks/main.yml | 11 +++++++++-- testserver/docker_gitlab/tasks/main.yml | 19 +++++++++---------- testserver/docker_grafana/tasks/main.yml | 11 +++++++++-- testserver/docker_nextcloud/tasks/main.yml | 15 +++++++++++++-- testserver/docker_vpnserver/tasks/main.yml | 2 +- testserver/docker_wordpress/tasks/main.yml | 11 +++++++++-- verwaltung/docker_gitea/tasks/main.yml | 13 ++++++++++--- verwaltung/docker_jameica/tasks/main.yml | 14 +++++++++++--- verwaltung/docker_nextcloud/tasks/main.yml | 14 +++++++++++--- webserver/docker_matterbridge/tasks/main.yml | 14 +++++++++++--- webserver/docker_uffd/tasks/main.yml | 3 ++- webserver/docker_wordpress/tasks/main.yml | 9 ++++++++- 23 files changed, 193 insertions(+), 50 deletions(-) diff --git a/common/docker_dockerstats/tasks/main.yml b/common/docker_dockerstats/tasks/main.yml index 18547002..ca80d30e 100644 --- a/common/docker_dockerstats/tasks/main.yml +++ b/common/docker_dockerstats/tasks/main.yml @@ -1,7 +1,6 @@ --- - -- name: create folder struct for {{ servicename }} +- name: "create folder struct for {{ servicename }}" file: path: "{{ item }}" state: "directory" @@ -15,9 +14,16 @@ dest: "{{ basedir }}/{{ item }}" with_items: - docker-compose.yml + register: config_files + +- name: "stop {{ servicename }} docker" + community.docker.docker_compose_v2: + project_src: "{{ basedir }}" + state: absent + when: config_files.changed -- name: start {{ servicename }} docker +- name: "start {{ servicename }} docker" community.docker.docker_compose_v2: project_src: "{{ basedir }}" state: present diff --git a/common/docker_watchtower/tasks/main.yml b/common/docker_watchtower/tasks/main.yml index b7d417b9..508dd400 100644 --- a/common/docker_watchtower/tasks/main.yml +++ b/common/docker_watchtower/tasks/main.yml @@ -19,10 +19,17 @@ dest: "{{ basedir }}/{{ item }}" with_items: - docker-compose.yml + register: config_files + + +- name: "stop {{ servicename }} docker" + community.docker.docker_compose_v2: + project_src: "{{ basedir }}" + state: absent + when: config_files.changed + - - name: "start {{ servicename }} docker" community.docker.docker_compose_v2: project_src: "{{ basedir }}" state: present - build: always diff --git a/intern/docker_fridgeserver/tasks/main.yml b/intern/docker_fridgeserver/tasks/main.yml index df0aa807..a7540ac1 100644 --- a/intern/docker_fridgeserver/tasks/main.yml +++ b/intern/docker_fridgeserver/tasks/main.yml @@ -1,4 +1,5 @@ --- + - name: "create folder struct for {{ servicename }}" ansible.builtin.file: path: "{{ item }}" @@ -16,8 +17,15 @@ mode: '0755' with_items: - docker-compose.yml + register: config_files -- name: start {{ servicename }} +- name: "stop {{ servicename }} docker" + community.docker.docker_compose_v2: + project_src: "{{ basedir }}" + state: absent + when: config_files.changed + +- name: "start {{ servicename }} docker" community.docker.docker_compose_v2: - state: present project_src: "{{ basedir }}" + state: present diff --git a/intern/docker_grafana/tasks/main.yml b/intern/docker_grafana/tasks/main.yml index a964ae54..17beed73 100644 --- a/intern/docker_grafana/tasks/main.yml +++ b/intern/docker_grafana/tasks/main.yml @@ -5,7 +5,7 @@ - { path: "{{ basedir }}/grafana_admin_pass", length: 12 } - { path: "/srv/mqtt/influxdb_token", length: -1 } -- name: create folder struct for grafana +- name: "create folder struct for {{ servicename }}" file: path: "{{ item }}" state: "directory" @@ -27,8 +27,15 @@ - provisioning/dashboards/dashboards.yml - provisioning/dashboards/pixelflut/breakwater.json - provisioning/datasources/datasources.yml + register: config_files -- name: start grafana docker +- name: "stop {{ servicename }} docker" + community.docker.docker_compose_v2: + project_src: "{{ basedir }}" + state: absent + when: config_files.changed + +- name: "start {{ servicename }} docker" community.docker.docker_compose_v2: project_src: "{{ basedir }}" state: present diff --git a/intern/docker_heimdall/tasks/main.yml b/intern/docker_heimdall/tasks/main.yml index d34c8ab5..cdb104fb 100644 --- a/intern/docker_heimdall/tasks/main.yml +++ b/intern/docker_heimdall/tasks/main.yml @@ -1,5 +1,6 @@ --- -- name: create folder struct for {{ servicename }} + +- name: "create folder struct for {{ servicename }}" ansible.builtin.file: path: "{{ item }}" state: "directory" @@ -7,15 +8,22 @@ with_items: - "{{ basedir }}/config" -- name: copy config files for {{ servicename }} +- name: "copy config files for {{ servicename }}" ansible.builtin.template: src: "{{ item }}" dest: "{{ basedir }}/{{ item }}" mode: '0755' with_items: - docker-compose.yml + register: config_files -- name: start {{ servicename }} +- name: "stop {{ servicename }} docker" + community.docker.docker_compose_v2: + project_src: "{{ basedir }}" + state: absent + when: config_files.changed + +- name: "start {{ servicename }} docker" community.docker.docker_compose_v2: - state: present project_src: "{{ basedir }}" + state: present diff --git a/intern/docker_mqtt/tasks/main.yml b/intern/docker_mqtt/tasks/main.yml index 910e1729..d34fec1e 100644 --- a/intern/docker_mqtt/tasks/main.yml +++ b/intern/docker_mqtt/tasks/main.yml @@ -24,6 +24,13 @@ - mosquitto.conf - telegraf_binary.conf - telegraf_float.conf + register: config_files + +- name: "stop {{ servicename }} docker" + community.docker.docker_compose_v2: + project_src: "{{ basedir }}" + state: absent + when: config_files.changed - name: "start {{ servicename }} docker" community.docker.docker_compose_v2: diff --git a/intern/docker_nodered/tasks/main.yml b/intern/docker_nodered/tasks/main.yml index 3a249f0e..8c10b068 100644 --- a/intern/docker_nodered/tasks/main.yml +++ b/intern/docker_nodered/tasks/main.yml @@ -1,4 +1,5 @@ --- + - name: "create folder struct for {{ servicename }}" ansible.builtin.file: path: "{{ item }}" @@ -16,8 +17,15 @@ mode: '0755' with_items: - "docker-compose.yml" + register: config_files -- name: "start {{ servicename }} with docker-compose" +- name: "stop {{ servicename }} docker" + community.docker.docker_compose_v2: + project_src: "{{ basedir }}" + state: absent + when: config_files.changed + +- name: "start {{ servicename }} docker" community.docker.docker_compose_v2: - state: present project_src: "{{ basedir }}" + state: present diff --git a/intern/docker_omada/tasks/main.yml b/intern/docker_omada/tasks/main.yml index 81cd8b99..e68fe7e7 100644 --- a/intern/docker_omada/tasks/main.yml +++ b/intern/docker_omada/tasks/main.yml @@ -22,6 +22,13 @@ dest: "{{ basedir }}/{{ item }}" with_items: - docker-compose.yml + register: config_files + +- name: "stop {{ servicename }} docker" + community.docker.docker_compose_v2: + project_src: "{{ basedir }}" + state: absent + when: config_files.changed - name: "start {{ servicename }} docker" community.docker.docker_compose_v2: diff --git a/intern/docker_tasmoadmin/tasks/main.yml b/intern/docker_tasmoadmin/tasks/main.yml index 3a249f0e..cfa4205a 100644 --- a/intern/docker_tasmoadmin/tasks/main.yml +++ b/intern/docker_tasmoadmin/tasks/main.yml @@ -1,4 +1,5 @@ --- + - name: "create folder struct for {{ servicename }}" ansible.builtin.file: path: "{{ item }}" @@ -9,6 +10,7 @@ with_items: - "{{ basedir }}/data/" + - name: "copy config files file for {{ servicename }}" ansible.builtin.template: src: "{{ item }}" @@ -16,8 +18,17 @@ mode: '0755' with_items: - "docker-compose.yml" + register: config_files + -- name: "start {{ servicename }} with docker-compose" +- name: "stop {{ servicename }} docker" community.docker.docker_compose_v2: - state: present project_src: "{{ basedir }}" + state: absent + when: config_files.changed + + +- name: "start {{ servicename }} docker" + community.docker.docker_compose_v2: + project_src: "{{ basedir }}" + state: present diff --git a/remote/docker_homeassistant/tasks/main.yml b/remote/docker_homeassistant/tasks/main.yml index df24774f..55bbdf40 100644 --- a/remote/docker_homeassistant/tasks/main.yml +++ b/remote/docker_homeassistant/tasks/main.yml @@ -6,6 +6,7 @@ - { path: "{{ basedir }}/influxdb_password", length: 12 } - { path: "{{ basedir }}/influxdb_token", length: 32 } + - name: "create folder struct for {{ basedir }}" file: path: "{{ item }}" diff --git a/testserver/docker_dockerstats/tasks/main.yml b/testserver/docker_dockerstats/tasks/main.yml index 67360568..0a9ba2d9 100644 --- a/testserver/docker_dockerstats/tasks/main.yml +++ b/testserver/docker_dockerstats/tasks/main.yml @@ -1,4 +1,5 @@ --- + - name: "create folder struct for {{ servicename }}" file: path: "{{ item }}" @@ -16,11 +17,13 @@ - docker-compose.yml register: config + - name: "stop {{ servicename }} docker" community.docker.docker_compose_v2: project_src: "{{ basedir }}" state: absent + - name: "start {{ servicename }} docker" community.docker.docker_compose_v2: project_src: "{{ basedir }}" diff --git a/testserver/docker_gitea/tasks/main.yml b/testserver/docker_gitea/tasks/main.yml index 236f1dc6..db32673c 100644 --- a/testserver/docker_gitea/tasks/main.yml +++ b/testserver/docker_gitea/tasks/main.yml @@ -6,7 +6,7 @@ - { path: "{{ basedir }}/secrets/mysql_user_pw", length: 12 } - { path: "{{ basedir }}/secrets/gitea_admin_pass", length: 12 } -- name: create folder struct for gitea +- name: "create folder struct for {{ servicename }}" file: path: "{{item}}" state: "directory" @@ -23,8 +23,15 @@ dest: "{{ basedir }}/{{item}}" with_items: - "docker-compose.yml" + register: config_files -- name: start gitea docker +- name: "stop {{ servicename }} docker" + community.docker.docker_compose_v2: + project_src: "{{ basedir }}" + state: absent + when: config_files.changed + +- name: "start {{ servicename }} docker" community.docker.docker_compose_v2: project_src: "{{ basedir }}" state: present diff --git a/testserver/docker_gitlab/tasks/main.yml b/testserver/docker_gitlab/tasks/main.yml index 0f143cd3..5238a9bc 100644 --- a/testserver/docker_gitlab/tasks/main.yml +++ b/testserver/docker_gitlab/tasks/main.yml @@ -6,9 +6,8 @@ - { path: /srv/gitlab/oidc_client_secret, length: 32 } - { path: /srv/gitlab/runner_registration_token, length: -1 } -# Benötigte Verzeichnisstrukturen erstellen -- name: create folder structur for gitlab +- name: "create folder structur for {{ servicename }}" file: path: "{{ item }}" state: directory @@ -21,7 +20,6 @@ - "/srv/gitlab/log" - "/srv/gitlab/runner" -# Konfigurationsdateien erstellen - name: Konfig-Datei Gitlab template: @@ -30,16 +28,17 @@ with_items: - "conf/gitlab.rb" - "docker-compose.yml" - register: configs + register: config_files -- name: stop gitlab docker +- name: "stop {{ servicename }} docker" community.docker.docker_compose_v2: - project_src: /srv/gitlab/ + project_src: "{{ basedir }}" state: absent - when: configs.changed + when: config_files.changed -- name: start gitlab docker + +- name: "start {{ servicename }} docker" community.docker.docker_compose_v2: - project_src: /srv/gitlab/ - state: present + project_src: "{{ basedir }}" + state: present \ No newline at end of file diff --git a/testserver/docker_grafana/tasks/main.yml b/testserver/docker_grafana/tasks/main.yml index 7254d033..a80626fb 100644 --- a/testserver/docker_grafana/tasks/main.yml +++ b/testserver/docker_grafana/tasks/main.yml @@ -6,7 +6,7 @@ - { path: "{{ basedir }}/secrets/oauth_client_secret", length: 32 } # - { path: "/srv/mqtt/influxdb_token", length: -1 } -- name: create folder struct for grafana +- name: "create folder struct for {{ servicename }}" ansible.builtin.file: path: "{{ item }}" state: "directory" @@ -27,8 +27,15 @@ with_items: - docker-compose.yml - grafana.ini + register: config_files -- name: start grafana docker +- name: "stop {{ servicename }} docker" + community.docker.docker_compose_v2: + project_src: "{{ basedir }}" + state: absent + when: config_files.changed + +- name: "start {{ servicename }} docker" community.docker.docker_compose_v2: project_src: "{{ basedir }}" state: present diff --git a/testserver/docker_nextcloud/tasks/main.yml b/testserver/docker_nextcloud/tasks/main.yml index 57528eaf..b70c077e 100644 --- a/testserver/docker_nextcloud/tasks/main.yml +++ b/testserver/docker_nextcloud/tasks/main.yml @@ -8,7 +8,7 @@ - { path: "{{ basedir }}/secrets/mysql_user_pass", length: 12 } -- name: create folder struct for nextcloud +- name: "create folder struct for {{ servicename }}" file: path: "{{ item }}" state: "directory" @@ -31,6 +31,7 @@ - "docker-compose.yml" - "memory-limit.ini" + - name: Nextcloud Konfig-Dateien erstellen template: src: "{{ item }}" @@ -38,6 +39,8 @@ with_items: - "custom.config.php" - "oidc.config.php" + register: config_files + - name: Script Helper erstellen template: @@ -47,7 +50,15 @@ with_items: - "occ.sh" -- name: start nextcloud docker + +- name: "stop {{ servicename }} docker" + community.docker.docker_compose_v2: + project_src: "{{ basedir }}" + state: absent + when: config_files.changed + + +- name: "start {{ servicename }} docker" community.docker.docker_compose_v2: project_src: "{{ basedir }}" state: present diff --git a/testserver/docker_vpnserver/tasks/main.yml b/testserver/docker_vpnserver/tasks/main.yml index 21147c81..f63bad1d 100644 --- a/testserver/docker_vpnserver/tasks/main.yml +++ b/testserver/docker_vpnserver/tasks/main.yml @@ -7,7 +7,7 @@ - { path: "{{ basedir }}/secrets/wg_private_key", length: -1 } # 'wg genkey' -- name: create folder struct for vpnserver +- name: "create folder struct for {{ servicename }}" file: path: "{{ item }}" state: "directory" diff --git a/testserver/docker_wordpress/tasks/main.yml b/testserver/docker_wordpress/tasks/main.yml index 46107a11..6c0fe80f 100644 --- a/testserver/docker_wordpress/tasks/main.yml +++ b/testserver/docker_wordpress/tasks/main.yml @@ -8,7 +8,7 @@ - { path: "{{ basedir }}/wordpress_admin_pass", length: 24 } - { path: "{{ basedir }}/wordpress_client_secret", length: 32 } -- name: create folder struct for wordpress +- name: "create folder struct for {{ servicename }}" file: path: "{{ item }}" state: "directory" @@ -32,8 +32,15 @@ - docker-compose.yml - config/uploads.ini - data/wp-content/plugins/wz-status/wz-status.php + register: config_files -- name: start wordpress docker +- name: "stop {{ servicename }} docker" + community.docker.docker_compose_v2: + project_src: "{{ basedir }}" + state: absent + when: config_files.changed + +- name: "start {{ servicename }} docker" community.docker.docker_compose_v2: project_src: "{{ basedir }}" state: present diff --git a/verwaltung/docker_gitea/tasks/main.yml b/verwaltung/docker_gitea/tasks/main.yml index 780d0919..fb2eb4df 100644 --- a/verwaltung/docker_gitea/tasks/main.yml +++ b/verwaltung/docker_gitea/tasks/main.yml @@ -5,7 +5,7 @@ - { path: /srv/gitea/mysql_root_pw, length: 24 } - { path: /srv/gitea/mysql_user_pw, length: 12 } -- name: create folder struct for gitea +- name: "create folder struct for {{ servicename }}" file: path: "{{item}}" state: "directory" @@ -21,9 +21,16 @@ dest: "/srv/gitea/{{item}}" with_items: - "docker-compose.yml" + register: config_files -- name: start gitea docker +- name: "stop {{ servicename }} docker" community.docker.docker_compose_v2: - project_src: /srv/gitea/ + project_src: "{{ basedir }}" + state: absent + when: config_files.changed + +- name: "start {{ servicename }} docker" + community.docker.docker_compose_v2: + project_src: "{{ basedir }}" state: present diff --git a/verwaltung/docker_jameica/tasks/main.yml b/verwaltung/docker_jameica/tasks/main.yml index f8056c7b..c8a11900 100644 --- a/verwaltung/docker_jameica/tasks/main.yml +++ b/verwaltung/docker_jameica/tasks/main.yml @@ -3,7 +3,7 @@ with_items: - { path: /srv/ldap/secret/ldap_readonly_pass, length: -1 } -- name: create folder struct for jameica +- name: "create folder struct for {{ servicename }}" file: path: "{{item}}" state: "directory" @@ -21,9 +21,17 @@ - "jameica.conf" - "jameica.sh" - "nginx.conf" + register: config_files -- name: start jameica docker +- name: "stop {{ servicename }} docker" community.docker.docker_compose_v2: - project_src: /srv/jameica-vnc/ + project_src: "{{ basedir }}" + state: absent + when: config_files.changed + + +- name: "start {{ servicename }} docker" + community.docker.docker_compose_v2: + project_src: "{{ basedir }}" state: present diff --git a/verwaltung/docker_nextcloud/tasks/main.yml b/verwaltung/docker_nextcloud/tasks/main.yml index 5b51f6a9..0d8f70c6 100644 --- a/verwaltung/docker_nextcloud/tasks/main.yml +++ b/verwaltung/docker_nextcloud/tasks/main.yml @@ -7,7 +7,7 @@ - { path: /srv/nextcloud/mysql_user_pass, length: 12 } -- name: create folder struct for nextcloud +- name: "create folder struct for {{ servicename }}" file: path: "{{ item }}" state: "directory" @@ -27,11 +27,19 @@ with_items: - "docker-compose.yml" - "memory-limit.ini" + register: config_files -- name: start nextcloud docker +- name: "stop {{ servicename }} docker" community.docker.docker_compose_v2: - project_src: /srv/nextcloud/ + project_src: "{{ basedir }}" + state: absent + when: config_files.changed + + +- name: "start {{ servicename }} docker" + community.docker.docker_compose_v2: + project_src: "{{ basedir }}" state: present diff --git a/webserver/docker_matterbridge/tasks/main.yml b/webserver/docker_matterbridge/tasks/main.yml index b22fb98f..d37039e0 100644 --- a/webserver/docker_matterbridge/tasks/main.yml +++ b/webserver/docker_matterbridge/tasks/main.yml @@ -48,9 +48,17 @@ template: src: "docker-compose.yml" dest: "/srv/matterbridge/docker-compose.yml" - -- name: start matterbridge docker + register: config_files + +- name: "stop {{ servicename }} docker" + community.docker.docker_compose_v2: + project_src: "{{ basedir }}" + state: absent + when: config_files.changed + + +- name: "start {{ servicename }} docker" community.docker.docker_compose_v2: - project_src: /srv/matterbridge/ + project_src: "{{ basedir }}" state: present diff --git a/webserver/docker_uffd/tasks/main.yml b/webserver/docker_uffd/tasks/main.yml index 747d458c..06dd2d69 100644 --- a/webserver/docker_uffd/tasks/main.yml +++ b/webserver/docker_uffd/tasks/main.yml @@ -37,4 +37,5 @@ - name: start {{servicename}} docker community.docker.docker_compose_v2: project_src: "{{ basedir }}" - state: present \ No newline at end of file + state: present + build: always diff --git a/webserver/docker_wordpress/tasks/main.yml b/webserver/docker_wordpress/tasks/main.yml index 2a26b487..a17e7981 100644 --- a/webserver/docker_wordpress/tasks/main.yml +++ b/webserver/docker_wordpress/tasks/main.yml @@ -30,8 +30,15 @@ - docker-compose.yml - config/uploads.ini - data/wp-content/plugins/wz-status/wz-status.php + register: config_files -- name: start wordpress docker +- name: "stop {{ servicename }} docker" + community.docker.docker_compose_v2: + project_src: "{{ basedir }}" + state: absent + when: config_files.changed + +- name: "start {{ servicename }} docker" community.docker.docker_compose_v2: project_src: "{{ basedir }}" state: present -- GitLab