From 438e5ac327d9cd163ea660faf36ac427fb37fef8 Mon Sep 17 00:00:00 2001
From: jabertwo <git@jabertwo.de>
Date: Sun, 4 Feb 2024 02:21:53 +0100
Subject: [PATCH] switch to docker compose v2

---
 common/crowdsec/tasks/main.yml                |  4 +-
 common/docker_dockerstats/tasks/main.yml      |  2 +-
 common/docker_ldap/tasks/main.yml             |  4 +-
 common/docker_traefik/tasks/main.yml          |  4 +-
 common/docker_watchtower/tasks/main.yml       |  2 +-
 host_vars/ogg                                 | 32 +++----
 host_vars/verwaltung                          | 26 +++---
 host_vars/webserver                           | 88 +++++++++----------
 intern/docker_esphome-dev/tasks/main.yml      |  4 +-
 intern/docker_esphome/tasks/main.yml          |  4 +-
 intern/docker_fridgeserver/tasks/main.yml     |  2 +-
 intern/docker_grafana/tasks/main.yml          |  2 +-
 intern/docker_heimdall/tasks/main.yml         |  2 +-
 intern/docker_homeassistant/tasks/main.yml    |  4 +-
 intern/docker_mqtt/tasks/main.yml             |  2 +-
 intern/docker_nodered/tasks/main.yml          |  2 +-
 intern/docker_omada/tasks/main.yml            |  2 +-
 intern/docker_tasmoadmin/tasks/main.yml       |  2 +-
 remote/docker_homeassistant/tasks/main.yml    |  4 +-
 remote/docker_netdata/tasks/main.yml          |  2 +-
 remote/docker_prometheus/tasks/main.yml       |  2 +-
 remote/docker_unifi/tasks/main.yml            |  2 +-
 testserver/docker_uffd/tasks/main.yml         | 40 +++++++++
 verwaltung/docker_gitea/tasks/main.yml        |  2 +-
 verwaltung/docker_jameica/tasks/main.yml      |  2 +-
 verwaltung/docker_nextcloud/tasks/main.yml    |  2 +-
 webserver/docker_coturn/tasks/main.yml        |  4 +-
 webserver/docker_dokuwiki/tasks/main.yml      |  4 +-
 webserver/docker_gitlab/tasks/main.yml        |  4 +-
 webserver/docker_hackmd/tasks/main.yml        |  4 +-
 webserver/docker_icinga/handlers/main.yml     |  2 +-
 webserver/docker_icinga/tasks/main.yml        |  9 +-
 webserver/docker_keycloak/tasks/main.yml      |  4 +-
 webserver/docker_mail/tasks/main.yaml         |  8 +-
 webserver/docker_matrix/tasks/main.yml        |  4 +-
 webserver/docker_matterbridge/tasks/main.yml  |  2 +-
 webserver/docker_vpnserver/tasks/main.yml     |  4 +-
 webserver/docker_warpapi/tasks/main.yml       |  2 +-
 webserver/docker_wordpress/tasks/main.yml     |  2 +-
 webserver/docker_workadventure/tasks/main.yml |  4 +-
 40 files changed, 170 insertions(+), 131 deletions(-)
 create mode 100644 testserver/docker_uffd/tasks/main.yml

diff --git a/common/crowdsec/tasks/main.yml b/common/crowdsec/tasks/main.yml
index eb3ff502..528ced23 100644
--- a/common/crowdsec/tasks/main.yml
+++ b/common/crowdsec/tasks/main.yml
@@ -18,12 +18,12 @@
 
 # Start containers
 - name: "stop {{ servicename }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: absent
   when: config.changed
 
 - name: "start {{ servicename }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: present
\ No newline at end of file
diff --git a/common/docker_dockerstats/tasks/main.yml b/common/docker_dockerstats/tasks/main.yml
index 134a66c4..dbc65c10 100644
--- a/common/docker_dockerstats/tasks/main.yml
+++ b/common/docker_dockerstats/tasks/main.yml
@@ -19,6 +19,6 @@
 
 
 - name: start {{ servicename }} docker
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: present
diff --git a/common/docker_ldap/tasks/main.yml b/common/docker_ldap/tasks/main.yml
index 76a47dcd..4fcd906e 100644
--- a/common/docker_ldap/tasks/main.yml
+++ b/common/docker_ldap/tasks/main.yml
@@ -25,13 +25,13 @@
   register: config
 
 - name: "stop {{ servicename}} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: absent
   when: config.changed
 
 - name: "start {{ servicename}} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: present
 
diff --git a/common/docker_traefik/tasks/main.yml b/common/docker_traefik/tasks/main.yml
index 579a557f..54b26f8b 100644
--- a/common/docker_traefik/tasks/main.yml
+++ b/common/docker_traefik/tasks/main.yml
@@ -51,13 +51,13 @@
   register: config
 
 - name: "stop {{ servicename}} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: absent
   when: config.changed
 
 - name: "start {{ servicename}} docker"
-  docker_compose:
+  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 c7caa580..2ddbc65d 100644
--- a/common/docker_watchtower/tasks/main.yml
+++ b/common/docker_watchtower/tasks/main.yml
@@ -23,7 +23,7 @@
 
   
 - name: "start {{ servicename }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: present
     build: "{{ dockerconfig.changed }}"
diff --git a/host_vars/ogg b/host_vars/ogg
index 466a3b7a..e54838a3 100644
--- a/host_vars/ogg
+++ b/host_vars/ogg
@@ -52,22 +52,22 @@ alert:
     warn: 15
     crit: 30
   containers:
-    - { name: "dockerstats_app_1" }    
-    - { name: "esphome_app_1" }    
-    - { name: "esphome-dev_app_1" }    
-    - { name: "fridgeserver_app_1" }    
-    - { name: "grafana_app_1" }    
-    - { name: "heimdall_app_1" }    
-    - { name: "homeassistant_app_1" }    
-    - { name: "homeassistant_influxdb_1" }    
-    - { name: "mqtt_app_1" } 
-    - { name: "mqtt_influxdb_1" } 
-    - { name: "mqtt_tgbinary_1" } 
-    - { name: "mqtt_tgfloat_1" } 
-    - { name: "nodered_app_1" }
-    - { name: "omada_app_1" }
-    - { name: "tasmoadmin_app_1" }
-    - { name: "traefik_app_1" }
+    - { name: "dockerstats-app-1" }    
+    - { name: "esphome-app-1" }    
+    - { name: "esphome-dev-app-1" }    
+    - { name: "fridgeserver-app-1" }    
+    - { name: "grafana-app-1" }    
+    - { name: "heimdall-app-1" }    
+    - { name: "homeassistant-app-1" }    
+    - { name: "homeassistant-influxdb-1" }    
+    - { name: "mqtt-app-1" } 
+    - { name: "mqtt-influxdb-1" } 
+    - { name: "mqtt-tgbinary-1" } 
+    - { name: "mqtt-tgfloat-1" } 
+    - { name: "nodered-app-1" }
+    - { name: "omada-app-1" }
+    - { name: "tasmoadmin-app-1" }
+    - { name: "traefik-app-1" }
   disks:
     - { mountpoint: "/", warn: "5 GB", crit: "1 GB" }
     - { mountpoint: "/srv", warn: "5 GB", crit: "1 GB" }
diff --git a/host_vars/verwaltung b/host_vars/verwaltung
index 0bbba109..ce47cd02 100644
--- a/host_vars/verwaltung
+++ b/host_vars/verwaltung
@@ -66,19 +66,19 @@ alert:
     warn: 5
     crit: 10
   containers:
-    - { name: "dockerstats_app_1" }
-    - { name: "gitea_app_1" }
-    - { name: "gitea_db_1" }
-    - { name: "jameica-vnc_ldap_auth_1" }
-    - { name: "jameica-vnc_nginx_1" }
-    - { name: "jameica-vnc_vnc_1" }
-    - { name: "mysql_app_1" }
-    - { name: "nextcloud_app_1" }
-    - { name: "nextcloud_mysql_1" }
-    - { name: "nextcloud_redis_1" }
-    - { name: "nextcloud_webcron_1" }
-    - { name: "traefik_app_1" }
-    - { name: "watchtower_app_1" }
+    - { name: "dockerstats_app-1" }
+    - { name: "gitea-app-1" }
+    - { name: "gitea-db-1" }
+    - { name: "jameica-vnc-ldap-auth-1" }
+    - { name: "jameica-vnc-nginx-1" }
+    - { name: "jameica-vnc-vnc-1" }
+    - { name: "mysql-app-1" }
+    - { name: "nextcloud-app-1" }
+    - { name: "nextcloud-mysql-1" }
+    - { name: "nextcloud-redis-1" }
+    - { name: "nextcloud-webcron-1" }
+    - { name: "traefik-app-1" }
+    - { name: "watchtower-app-1" }
   disks: 
     - { mountpoint: "/", warn: "5 GB", crit: "1 GB" }
     - { mountpoint: "/srv", warn: "5 GB", crit: "1 GB" }
diff --git a/host_vars/webserver b/host_vars/webserver
index 0d5910a6..c557afb5 100644
--- a/host_vars/webserver
+++ b/host_vars/webserver
@@ -71,50 +71,50 @@ alert:
     warn: 5
     crit: 10
   containers:
-    - { name: "coturn_coturn_1" }
-    - { name: "dockerstats_app_1" }
-    - { name: "dokuwiki_app_1" }
-    - { name: "gitlab_app_1" }
-    - { name: "gitlab_dind_1" }
-    - { name: "gitlab_runner_1" }
-    - { name: "hackmd_app_1" }
-    - { name: "hackmd_db_1" }
-    - { name: "icinga_app_1" }
-    - { name: "icinga_db_1" }
-    - { name: "icinga_graphite_1" }
-    - { name: "keycloak_app_1" }
-    - { name: "keycloak_db_1" }
-    - { name: "keycloak_sync-group-active_1" }
-    - { name: "ldap_openldap_1" }
-    - { name: "ldap_phpldapadmin_1" }
-    - { name: "mail_admin_1" }
-    - { name: "mail_antispam_1" }
-    - { name: "mail_certdumper_1" }
-    - { name: "mail_db_1" }
-    - { name: "mail_front_1" }
-    - { name: "mail_imap_1" }
-    - { name: "mail_oletools_1" }
-    - { name: "mail_redis_1" }
-    - { name: "mail_resolver_1" }
-    - { name: "mail_smtp_1" }
-    - { name: "mail_webmail_1" }
-    - { name: "mail_mailman-core_1" }
-    - { name: "mail_mailman-web_1" }
-    - { name: "mail_mailman-nginx_1" }
-    - { name: "matrix_ma1sd_1" }
-    - { name: "matrix_db_1" }
-    - { name: "matrix_purgemediacache_1" }
-    - { name: "matrix_synapse_1" }
-    - { name: "matterbridge_cw_1" }
-    - { name: "matterbridge_wz_1" }
-    - { name: "matterbridge_web_1" }
-    - { name: "matterbridge_restarter_1" }
-    - { name: "traefik_app_1" }
-    - { name: "vpnserver_app_1" }
-    - { name: "warpapi_app_1" }
-    - { name: "watchtower_app_1" }
-    - { name: "wordpress_app_1" }
-    - { name: "wordpress_db_1" }
+    - { name: "coturn-coturn-1" }
+    - { name: "dockerstats-app-1" }
+    - { name: "dokuwiki-app-1" }
+    - { name: "gitlab-app-1" }
+    - { name: "gitlab-dind-1" }
+    - { name: "gitlab-runner-1" }
+    - { name: "hackmd-app-1" }
+    - { name: "hackmd-db-1" }
+    - { name: "icinga-app-1" }
+    - { name: "icinga-db-1" }
+    - { name: "icinga-graphite-1" }
+    - { name: "keycloak-app-1" }
+    - { name: "keycloak-db-1" }
+    - { name: "keycloak-sync-group-active-1" }
+    - { name: "ldap-openldap-1" }
+    - { name: "ldap-phpldapadmin-1" }
+    - { name: "mail-admin-1" }
+    - { name: "mail-antispam-1" }
+    - { name: "mail-certdumper-1" }
+    - { name: "mail-db-1" }
+    - { name: "mail-front-1" }
+    - { name: "mail-imap-1" }
+    - { name: "mail-oletools-1" }
+    - { name: "mail-redis-1" }
+    - { name: "mail-resolver-1" }
+    - { name: "mail-smtp-1" }
+    - { name: "mail-webmail-1" }
+    - { name: "mail-mailman-core-1" }
+    - { name: "mail-mailman-web-1" }
+    - { name: "mail-mailman-nginx-1" }
+    - { name: "matrix-ma1sd-1" }
+    - { name: "matrix-db-1" }
+    - { name: "matrix-purgemediacache-1" }
+    - { name: "matrix-synapse-1" }
+    - { name: "matterbridge-cw-1" }
+    - { name: "matterbridge-wz-1" }
+    - { name: "matterbridge-web-1" }
+    - { name: "matterbridge-restarter-1" }
+    - { name: "traefik-app-1" }
+    - { name: "vpnserver-app-1" }
+    - { name: "warpapi-app-1" }
+    - { name: "watchtower-app-1" }
+    - { name: "wordpress-app-1" }
+    - { name: "wordpress-db-1" }
   #  - { name: "workadventure_back_1" }
   #  - { name: "workadventure_front_1" }
   #  - { name: "workadventure_icon_1" }
diff --git a/intern/docker_esphome-dev/tasks/main.yml b/intern/docker_esphome-dev/tasks/main.yml
index a23eef10..045d2e4b 100644
--- a/intern/docker_esphome-dev/tasks/main.yml
+++ b/intern/docker_esphome-dev/tasks/main.yml
@@ -36,12 +36,12 @@
   register: config
 
 - name: "stop {{ servicename }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: absent
   when: config.changed
 
 - name: "start {{ servicename }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: present
diff --git a/intern/docker_esphome/tasks/main.yml b/intern/docker_esphome/tasks/main.yml
index ce21f682..d527833d 100644
--- a/intern/docker_esphome/tasks/main.yml
+++ b/intern/docker_esphome/tasks/main.yml
@@ -60,12 +60,12 @@
   register: config
 
 - name: "stop {{ servicename }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: absent
   when: config.changed
 
 - name: "start {{ servicename }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: present
diff --git a/intern/docker_fridgeserver/tasks/main.yml b/intern/docker_fridgeserver/tasks/main.yml
index c7bb14f2..df0aa807 100644
--- a/intern/docker_fridgeserver/tasks/main.yml
+++ b/intern/docker_fridgeserver/tasks/main.yml
@@ -18,6 +18,6 @@
     - docker-compose.yml
 
 - name: start {{ servicename }}
-  community.docker.docker_compose:
+  community.docker.docker_compose_v2:
     state: present
     project_src: "{{ basedir }}"
diff --git a/intern/docker_grafana/tasks/main.yml b/intern/docker_grafana/tasks/main.yml
index 09f9df78..819188dc 100644
--- a/intern/docker_grafana/tasks/main.yml
+++ b/intern/docker_grafana/tasks/main.yml
@@ -47,6 +47,6 @@
     - datasources.yml
 
 - name: start grafana docker
-  docker_compose:
+  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 45a8fbf7..d34c8ab5 100644
--- a/intern/docker_heimdall/tasks/main.yml
+++ b/intern/docker_heimdall/tasks/main.yml
@@ -16,6 +16,6 @@
     - docker-compose.yml
 
 - name: start {{ servicename }}
-  community.docker.docker_compose:
+  community.docker.docker_compose_v2:
     state: present
     project_src: "{{ basedir }}"
diff --git a/intern/docker_homeassistant/tasks/main.yml b/intern/docker_homeassistant/tasks/main.yml
index 6d337140..d1a0c24a 100644
--- a/intern/docker_homeassistant/tasks/main.yml
+++ b/intern/docker_homeassistant/tasks/main.yml
@@ -29,13 +29,13 @@
 
 
 - name: "stop {{ servicename }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: absent
   when: config_files.changed 
 
 
 - name: "start {{ servicename }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: present
diff --git a/intern/docker_mqtt/tasks/main.yml b/intern/docker_mqtt/tasks/main.yml
index dbcb796b..910e1729 100644
--- a/intern/docker_mqtt/tasks/main.yml
+++ b/intern/docker_mqtt/tasks/main.yml
@@ -26,7 +26,7 @@
     - telegraf_float.conf
 
 - name: "start {{ servicename }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: present
 
diff --git a/intern/docker_nodered/tasks/main.yml b/intern/docker_nodered/tasks/main.yml
index c0ec9429..3a249f0e 100644
--- a/intern/docker_nodered/tasks/main.yml
+++ b/intern/docker_nodered/tasks/main.yml
@@ -18,6 +18,6 @@
     - "docker-compose.yml"
 
 - name: "start {{ servicename }} with docker-compose"
-  community.docker.docker_compose:
+  community.docker.docker_compose_v2:
     state: present
     project_src: "{{ basedir }}"
diff --git a/intern/docker_omada/tasks/main.yml b/intern/docker_omada/tasks/main.yml
index 413c9109..81cd8b99 100644
--- a/intern/docker_omada/tasks/main.yml
+++ b/intern/docker_omada/tasks/main.yml
@@ -24,7 +24,7 @@
     - docker-compose.yml 
 
 - name: "start {{ servicename }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: present
 
diff --git a/intern/docker_tasmoadmin/tasks/main.yml b/intern/docker_tasmoadmin/tasks/main.yml
index c0ec9429..3a249f0e 100644
--- a/intern/docker_tasmoadmin/tasks/main.yml
+++ b/intern/docker_tasmoadmin/tasks/main.yml
@@ -18,6 +18,6 @@
     - "docker-compose.yml"
 
 - name: "start {{ servicename }} with docker-compose"
-  community.docker.docker_compose:
+  community.docker.docker_compose_v2:
     state: present
     project_src: "{{ basedir }}"
diff --git a/remote/docker_homeassistant/tasks/main.yml b/remote/docker_homeassistant/tasks/main.yml
index 87bd9ce3..df24774f 100644
--- a/remote/docker_homeassistant/tasks/main.yml
+++ b/remote/docker_homeassistant/tasks/main.yml
@@ -26,13 +26,13 @@
 
 
 - name: "stop {{ servicename }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: absent
   when: config_files.changed 
 
 
 - name: "start {{ servicename }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: present
diff --git a/remote/docker_netdata/tasks/main.yml b/remote/docker_netdata/tasks/main.yml
index 21a41e1f..7016306a 100644
--- a/remote/docker_netdata/tasks/main.yml
+++ b/remote/docker_netdata/tasks/main.yml
@@ -18,7 +18,7 @@
     - docker-compose.yml 
 
 - name: "start {{ servicename }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: present
 
diff --git a/remote/docker_prometheus/tasks/main.yml b/remote/docker_prometheus/tasks/main.yml
index 85279791..ffe884ff 100644
--- a/remote/docker_prometheus/tasks/main.yml
+++ b/remote/docker_prometheus/tasks/main.yml
@@ -17,7 +17,7 @@
     - prometheus.yml 
 
 - name: "start {{ servicename }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: present
 
diff --git a/remote/docker_unifi/tasks/main.yml b/remote/docker_unifi/tasks/main.yml
index 1f9e11ca..c6b3681d 100644
--- a/remote/docker_unifi/tasks/main.yml
+++ b/remote/docker_unifi/tasks/main.yml
@@ -19,7 +19,7 @@
     - docker-compose.yml 
 
 - name: "start {{ basedir }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: present
 
diff --git a/testserver/docker_uffd/tasks/main.yml b/testserver/docker_uffd/tasks/main.yml
new file mode 100644
index 00000000..01a91181
--- /dev/null
+++ b/testserver/docker_uffd/tasks/main.yml
@@ -0,0 +1,40 @@
+---
+
+- include_tasks: ../functions/get_secret.yml
+  with_items:
+    - { path: "{{ basedir }}/secrets/mysql_admin_pass",  length: 24 }
+    - { path: "{{ basedir }}/secrets/mysql_user_pass",  length: 24 }
+    - { path: "{{ basedir }}/secrets/uffd_admin_pass",  length: 24 }
+    - { path: "{{ basedir }}/secrets/uffd_secret_key",  length: 64 }
+    - { path: "{{ basedir }}/secrets/uffd_mail_pass",   length: 12 }
+
+- name: create folder struct for {{servicename}}
+  file: 
+    path: "{{ item }}"
+    state: "directory"
+  with_items:
+    - "{{ basedir }}"
+    - "{{ basedir }}/secrets"
+    - "{{ basedir }}/db/"   
+
+- name: create config files
+  template: 
+    src: "{{ item }}" 
+    dest: "{{ basedir }}/{{ item }}"
+  with_items:
+    - "Dockerfile"
+    - "entrypoint.sh"
+    - "docker-compose.yml"
+    - "uffd.cfg"
+  register: config
+
+- name: stop {{ servicename }} docker
+  community.docker.docker_compose_v2:
+    project_src: "{{ basedir }}"
+    state: absent
+  when: config.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 1967ef85..780d0919 100644
--- a/verwaltung/docker_gitea/tasks/main.yml
+++ b/verwaltung/docker_gitea/tasks/main.yml
@@ -23,7 +23,7 @@
     - "docker-compose.yml"
 
 - name: start gitea docker
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: /srv/gitea/
     state: present
   
diff --git a/verwaltung/docker_jameica/tasks/main.yml b/verwaltung/docker_jameica/tasks/main.yml
index 9f43c196..f8056c7b 100644
--- a/verwaltung/docker_jameica/tasks/main.yml
+++ b/verwaltung/docker_jameica/tasks/main.yml
@@ -23,7 +23,7 @@
     - "nginx.conf"
 
 - name: start jameica docker
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: /srv/jameica-vnc/
     state: present
     
diff --git a/verwaltung/docker_nextcloud/tasks/main.yml b/verwaltung/docker_nextcloud/tasks/main.yml
index 7ae45335..5b51f6a9 100644
--- a/verwaltung/docker_nextcloud/tasks/main.yml
+++ b/verwaltung/docker_nextcloud/tasks/main.yml
@@ -30,7 +30,7 @@
 
 
 - name: start nextcloud docker
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: /srv/nextcloud/
     state: present
 
diff --git a/webserver/docker_coturn/tasks/main.yml b/webserver/docker_coturn/tasks/main.yml
index 5d664341..62112997 100644
--- a/webserver/docker_coturn/tasks/main.yml
+++ b/webserver/docker_coturn/tasks/main.yml
@@ -21,12 +21,12 @@
   register: config
 
 - name: "stop {{servicename}} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: /srv/{{servicename}}/
     state: absent
   when: config.changed
 
 - name: "start {{servicename}} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: /srv/{{servicename}}/
     state: present
diff --git a/webserver/docker_dokuwiki/tasks/main.yml b/webserver/docker_dokuwiki/tasks/main.yml
index 09f0225b..e392551a 100644
--- a/webserver/docker_dokuwiki/tasks/main.yml
+++ b/webserver/docker_dokuwiki/tasks/main.yml
@@ -33,12 +33,12 @@
     disabled: false
 
 - name: "stop {{ servicename}} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: absent
   when: config.changed
 
 - name: "start {{ servicename}} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: present
diff --git a/webserver/docker_gitlab/tasks/main.yml b/webserver/docker_gitlab/tasks/main.yml
index 5091020b..36dbab8e 100644
--- a/webserver/docker_gitlab/tasks/main.yml
+++ b/webserver/docker_gitlab/tasks/main.yml
@@ -34,12 +34,12 @@
 
 
 - name: stop gitlab docker
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: /srv/gitlab/
     state: absent
   when: configs.changed
 
 - name: start gitlab docker
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: /srv/gitlab/
     state: present
diff --git a/webserver/docker_hackmd/tasks/main.yml b/webserver/docker_hackmd/tasks/main.yml
index b36052dd..f67c1426 100644
--- a/webserver/docker_hackmd/tasks/main.yml
+++ b/webserver/docker_hackmd/tasks/main.yml
@@ -27,12 +27,12 @@
   register: configs
 
 - name: stop hackmd docker
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: /srv/hackmd
     state: absent
   when: configs.changed
 
 - name: start hackmd docker
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: /srv/hackmd/
     state: present
diff --git a/webserver/docker_icinga/handlers/main.yml b/webserver/docker_icinga/handlers/main.yml
index 068770a8..dc4b4b24 100644
--- a/webserver/docker_icinga/handlers/main.yml
+++ b/webserver/docker_icinga/handlers/main.yml
@@ -1,7 +1,7 @@
 ---
 
 - name: restart icinga docker
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: /srv/icinga/
     state: present
     restarted: yes
diff --git a/webserver/docker_icinga/tasks/main.yml b/webserver/docker_icinga/tasks/main.yml
index 8e36eac3..6319c40e 100644
--- a/webserver/docker_icinga/tasks/main.yml
+++ b/webserver/docker_icinga/tasks/main.yml
@@ -57,7 +57,7 @@
   register: configured
 
 - name: "start {{ servicename }} docker (init)"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: present
   when: configured.stat.exists == False
@@ -68,7 +68,7 @@
   when: configured.stat.exists == False
 
 - name: "stop {{ servicename }} docker (init)"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: absent
   when: configured.stat.exists == False
@@ -117,7 +117,6 @@
 
   
 - name: "start {{ servicename }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
-    state: present
-    build: "{{ dockerconfig.changed }}"
+    state: present
\ No newline at end of file
diff --git a/webserver/docker_keycloak/tasks/main.yml b/webserver/docker_keycloak/tasks/main.yml
index b42f7267..57a68e4c 100644
--- a/webserver/docker_keycloak/tasks/main.yml
+++ b/webserver/docker_keycloak/tasks/main.yml
@@ -38,13 +38,13 @@
 
 
 - name: stop keycloak docker
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: /srv/keycloak/
     state: absent
   when: config.changed
 
 
 - name: start keycloak docker
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: /srv/keycloak/
     state: present
diff --git a/webserver/docker_mail/tasks/main.yaml b/webserver/docker_mail/tasks/main.yaml
index d0101de1..c9d324ee 100644
--- a/webserver/docker_mail/tasks/main.yaml
+++ b/webserver/docker_mail/tasks/main.yaml
@@ -88,25 +88,25 @@
 
 # Start containers
 - name: "stop {{ servicename }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: absent
   when: config.changed
 
 - name: "start {{ servicename }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: present
 
 
 # Start mailman containers
 # - name: "stop {{ servicename }} (mailman) docker"
-#   docker_compose:
+#   community.docker.docker_compose_v2:
 #     project_src: "{{ basedir }}/docker-mailman"
 #     state: absent
 #   when: config_mailcow.changed
 
 # - name: "start {{ servicename }} (mailman) docker"
-#   docker_compose:
+#   community.docker.docker_compose_v2:
 #     project_src: "{{ basedir }}/docker-mailman"
 #     state: present
diff --git a/webserver/docker_matrix/tasks/main.yml b/webserver/docker_matrix/tasks/main.yml
index c3f42d07..27dc2fda 100644
--- a/webserver/docker_matrix/tasks/main.yml
+++ b/webserver/docker_matrix/tasks/main.yml
@@ -54,12 +54,12 @@
 
 
 - name: stop matrix docker
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: /srv/matrix/
     state: absent
   when: configs.changed
 
 - name: start matrix docker
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: /srv/matrix/
     state: present
diff --git a/webserver/docker_matterbridge/tasks/main.yml b/webserver/docker_matterbridge/tasks/main.yml
index 08b5520d..b22fb98f 100644
--- a/webserver/docker_matterbridge/tasks/main.yml
+++ b/webserver/docker_matterbridge/tasks/main.yml
@@ -50,7 +50,7 @@
     dest: "/srv/matterbridge/docker-compose.yml"
   
 - name: start matterbridge docker
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: /srv/matterbridge/
     state: present
   
diff --git a/webserver/docker_vpnserver/tasks/main.yml b/webserver/docker_vpnserver/tasks/main.yml
index 9d49fd74..f5db7127 100644
--- a/webserver/docker_vpnserver/tasks/main.yml
+++ b/webserver/docker_vpnserver/tasks/main.yml
@@ -25,13 +25,13 @@
 
 
 - name: "stop {{ servicename }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: absent
   when: config.changed
 
 
 - name: "start {{ servicename }} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: "{{ basedir }}"
     state: present
diff --git a/webserver/docker_warpapi/tasks/main.yml b/webserver/docker_warpapi/tasks/main.yml
index dbda040c..84ea8f06 100644
--- a/webserver/docker_warpapi/tasks/main.yml
+++ b/webserver/docker_warpapi/tasks/main.yml
@@ -36,6 +36,6 @@
     dest: "/srv/warpapi/docker-compose.yml"
 
 - name: start warpapi docker
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: /srv/warpapi/
     state: present
diff --git a/webserver/docker_wordpress/tasks/main.yml b/webserver/docker_wordpress/tasks/main.yml
index bb3b77f7..0f207950 100644
--- a/webserver/docker_wordpress/tasks/main.yml
+++ b/webserver/docker_wordpress/tasks/main.yml
@@ -29,6 +29,6 @@
     - data/wp-content/plugins/wz-status/wz-status.php
 
 - name: start wordpress docker
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: /srv/wordpress/
     state: present
diff --git a/webserver/docker_workadventure/tasks/main.yml b/webserver/docker_workadventure/tasks/main.yml
index af8e009c..2e494a4b 100644
--- a/webserver/docker_workadventure/tasks/main.yml
+++ b/webserver/docker_workadventure/tasks/main.yml
@@ -24,12 +24,12 @@
   register: config
 
 - name: "stop {{servicename}} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: /srv/{{servicename}}/
     state: absent
   when: config.changed
 
 - name: "start {{servicename}} docker"
-  docker_compose:
+  community.docker.docker_compose_v2:
     project_src: /srv/{{servicename}}/
     state: present
-- 
GitLab