From 4da296b91bb5ad418efb9ed584f5f896ebf64e07 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 20 Jan 2024 14:18:20 +0000
Subject: [PATCH 001/259] chore(deps): update renovate/renovate docker tag to
 v37.140.14

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 9b17c19..60b52cd 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -60,7 +60,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.107.0
+renovate_image: renovate/renovate:37.140.14
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"
\ No newline at end of file

From e2e51b9e984e0828687f8c958c69147276eabc3c Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 20 Jan 2024 10:23:20 +0000
Subject: [PATCH 002/259] chore(deps): update bitnami/dokuwiki:20230404 docker
 digest to 36d39f3

---
 host-tau.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-tau.yml b/host-tau.yml
index fa3f736..99dbf27 100644
--- a/host-tau.yml
+++ b/host-tau.yml
@@ -14,7 +14,7 @@
     dokuwiki_port: 9005
     # This container is pinned, because there are issues
     # with backwards compatibility within the same tag!
-    dokuwiki_image: bitnami/dokuwiki:20230404@sha256:37e5b6e946851fc1fbd0f37a11e4521fdaca7da698d461da5207168c7364c142
+    dokuwiki_image: bitnami/dokuwiki:20230404@sha256:36d39f31a71930d3ea79bbe2064f8f8ce8b0b6809d404b4d27c4489319080763
 
     discord_invite_domain: discord.netz39.de
 

From ba936bee56ca42cc04a837feca4b23abccb7a2c6 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 23 Jan 2024 00:18:18 +0000
Subject: [PATCH 003/259] chore(deps): update joseluisq/static-web-server
 docker tag to v2.25

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 60b52cd..26e8877 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -43,7 +43,7 @@ influxdb_init_password: "{{ vault_influxdb_init_password }}"
 jabber_host_port: 8086
 prosody_domain_name: jabber.n39.eu
 prosody_image: netz39/prosody:0.11
-prosody_web_image: joseluisq/static-web-server:2.24
+prosody_web_image: joseluisq/static-web-server:2.25
 prosody_config_dir: "/etc/prosody"
 prosody_data_dir: "{{ data_dir }}/prosody"
 

From 34f85ccf99675004a497877b9cde82b73cec4d6f Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 23 Jan 2024 15:18:24 +0000
Subject: [PATCH 004/259] chore(deps): update grafana/grafana docker tag to
 v10.3.1

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 26e8877..0587aa7 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -53,7 +53,7 @@ uptimekuma_image: louislam/uptime-kuma:1.23.11
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu
-grafana_image: grafana/grafana:10.2.3
+grafana_image: grafana/grafana:10.3.1
 grafana_admin_password: "{{ vault_grafana_admin_password }}"
 
 homebox_host_port: 8092

From 0bc6f615a7987e113fa82cb459b1818605883843 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 27 Jan 2024 12:23:20 +0000
Subject: [PATCH 005/259] chore(deps): update renovate/renovate docker tag to
 v37.153.2

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 0587aa7..f1a63fd 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -60,7 +60,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.140.14
+renovate_image: renovate/renovate:37.153.2
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"
\ No newline at end of file

From 78008cfd770d4887d84b1b1f12b54b73b9b3278e Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 26 Jan 2024 23:18:11 +0000
Subject: [PATCH 006/259] chore(deps): update bitnami/dokuwiki:20230404 docker
 digest to 95c012d

---
 host-tau.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-tau.yml b/host-tau.yml
index 99dbf27..1c6d820 100644
--- a/host-tau.yml
+++ b/host-tau.yml
@@ -14,7 +14,7 @@
     dokuwiki_port: 9005
     # This container is pinned, because there are issues
     # with backwards compatibility within the same tag!
-    dokuwiki_image: bitnami/dokuwiki:20230404@sha256:36d39f31a71930d3ea79bbe2064f8f8ce8b0b6809d404b4d27c4489319080763
+    dokuwiki_image: bitnami/dokuwiki:20230404@sha256:95c012d5b0ffc55379ba284034ce7084860096aa0ba760573ec557ba3837f889
 
     discord_invite_domain: discord.netz39.de
 

From e8b3099e5e3126fb987eb906c0d1fef653918182 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 25 Jan 2024 20:23:12 +0000
Subject: [PATCH 007/259] chore(deps): update dependency community.grafana to
 v1.7.0

---
 requirements.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/requirements.yml b/requirements.yml
index 7373b30..b6d9c55 100644
--- a/requirements.yml
+++ b/requirements.yml
@@ -15,4 +15,4 @@ roles:
 
 collections:
   - name: community.grafana
-    version: 1.6.1
+    version: 1.7.0

From 24fa6a74bb96cc3c3e364e2a6ee75288d21ad090 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 31 Jan 2024 19:48:53 +0000
Subject: [PATCH 008/259] chore(deps): update mrtux/grafana-screenshot docker
 tag to v0.1.1

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index 46e4aa6..ad189b4 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -212,7 +212,7 @@
     - name: Setup docker container for Grafana Screenshots
       docker_container:
         name: grafana-screenshot
-        image: mrtux/grafana-screenshot:0.1.0
+        image: mrtux/grafana-screenshot:0.1.1
         pull: true
         restart_policy: unless-stopped
         detach: yes

From 56d90da96e8ca2116b065f4c67d38d868f792950 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 31 Jan 2024 19:48:46 +0000
Subject: [PATCH 009/259] chore(deps): update codeberg.org/forgejo/forgejo
 docker tag to v1.21.5

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index f1a63fd..bbe870c 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -12,7 +12,7 @@ cleanuri_amqp_vhost: "/cleanuri"
 forgejo_host_port: 9091
 forgejo_ssh_port: 2222
 forgejo_domain_name: git.n39.eu
-forgejo_image: codeberg.org/forgejo/forgejo:1.21.4-0
+forgejo_image: codeberg.org/forgejo/forgejo:1.21.5-0
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu

From d8a1d9b957917fa7f5a01d31122754ac7692d1e0 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 3 Feb 2024 13:18:22 +0000
Subject: [PATCH 010/259] chore(deps): update renovate/renovate docker tag to
 v37.168.4

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index bbe870c..241320c 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -60,7 +60,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.153.2
+renovate_image: renovate/renovate:37.168.4
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"
\ No newline at end of file

From f0128df1825651d79648df256893f58b20f0fc81 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 2 Feb 2024 16:18:16 +0000
Subject: [PATCH 011/259] chore(deps): update jacobalberty/unifi docker tag to
 v8.0.28

---
 host-unicorn.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-unicorn.yml b/host-unicorn.yml
index 22d924f..d7e849c 100644
--- a/host-unicorn.yml
+++ b/host-unicorn.yml
@@ -13,7 +13,7 @@
     - name: Setup the docker container for unifi-controller
       docker_container:
         name: unifi-controller
-        image: jacobalberty/unifi:v8.0.26
+        image: jacobalberty/unifi:v8.0.28
         state: started
         restart_policy: unless-stopped
         container_default_behavior: no_defaults

From 9aef7ac8684202c7d7216bd5e25fccfbebb44059 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 2 Feb 2024 13:18:18 +0000
Subject: [PATCH 012/259] chore(deps): update bitnami/dokuwiki:20230404 docker
 digest to aaee2ed

---
 host-tau.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-tau.yml b/host-tau.yml
index 1c6d820..76addcb 100644
--- a/host-tau.yml
+++ b/host-tau.yml
@@ -14,7 +14,7 @@
     dokuwiki_port: 9005
     # This container is pinned, because there are issues
     # with backwards compatibility within the same tag!
-    dokuwiki_image: bitnami/dokuwiki:20230404@sha256:95c012d5b0ffc55379ba284034ce7084860096aa0ba760573ec557ba3837f889
+    dokuwiki_image: bitnami/dokuwiki:20230404@sha256:aaee2edb9f2062bafb40277ac9348e37c2664225669b276b94d29f4464b43047
 
     discord_invite_domain: discord.netz39.de
 

From eb2242407e5cc1742630e3ba1fb4246ee3f9bdd8 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 10 Feb 2024 08:18:17 +0000
Subject: [PATCH 013/259] chore(deps): update renovate/renovate docker tag to
 v37.181.11

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 241320c..4b1365e 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -60,7 +60,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.168.4
+renovate_image: renovate/renovate:37.181.11
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"
\ No newline at end of file

From 4d85eeee8e70ca16c95bf23e0b4d3c4debba4c8f Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 7 Feb 2024 13:18:15 +0000
Subject: [PATCH 014/259] chore(deps): update bitnami/dokuwiki:20230404 docker
 digest to a8eb470

---
 host-tau.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-tau.yml b/host-tau.yml
index 76addcb..107a194 100644
--- a/host-tau.yml
+++ b/host-tau.yml
@@ -14,7 +14,7 @@
     dokuwiki_port: 9005
     # This container is pinned, because there are issues
     # with backwards compatibility within the same tag!
-    dokuwiki_image: bitnami/dokuwiki:20230404@sha256:aaee2edb9f2062bafb40277ac9348e37c2664225669b276b94d29f4464b43047
+    dokuwiki_image: bitnami/dokuwiki:20230404@sha256:a8eb470d335bae3dad83b1a6353f26f9a4c168b28fb97e82b8b67245645ecf69
 
     discord_invite_domain: discord.netz39.de
 

From 61bb75f50c893a4becb418e02796634b0b0de00f Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 16 Feb 2024 18:18:19 +0000
Subject: [PATCH 015/259] chore(deps): update bitnami/dokuwiki:20230404 docker
 digest to d195188

---
 host-tau.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-tau.yml b/host-tau.yml
index 107a194..73a895a 100644
--- a/host-tau.yml
+++ b/host-tau.yml
@@ -14,7 +14,7 @@
     dokuwiki_port: 9005
     # This container is pinned, because there are issues
     # with backwards compatibility within the same tag!
-    dokuwiki_image: bitnami/dokuwiki:20230404@sha256:a8eb470d335bae3dad83b1a6353f26f9a4c168b28fb97e82b8b67245645ecf69
+    dokuwiki_image: bitnami/dokuwiki:20230404@sha256:d195188d23da8210d81abbc775ee91c409b34ea42c69917ffd48d474d6734d05
 
     discord_invite_domain: discord.netz39.de
 

From cada9bac5155d7b4aef537a61024beba284ebc01 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 16 Feb 2024 19:18:28 +0000
Subject: [PATCH 016/259] chore(deps): update renovate/renovate docker tag to
 v37.193.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 4b1365e..52d44f1 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -60,7 +60,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.181.11
+renovate_image: renovate/renovate:37.193.0
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"
\ No newline at end of file

From e89c21282f49d04f59e4ed10992953690c332312 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 16 Feb 2024 18:18:21 +0000
Subject: [PATCH 017/259] chore(deps): update bitnami/rabbitmq docker tag to
 v3.12.13

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index ad189b4..e7cc5f9 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -13,7 +13,7 @@
     nodered_image: nodered/node-red:3.0.1-1-18
     nodered_data: "{{ data_dir }}/nodered"
 
-    rabbitmq_image: bitnami/rabbitmq:3.12.12
+    rabbitmq_image: bitnami/rabbitmq:3.12.13
     rabbitmq_data: "{{ data_dir }}/rabbitmq"
 
     pwr_meter_pulse_gw_image: netz39/power-meter-pulse-gateway:0.3.0

From 5ef38f2d66ffb94202fd5eda7c4f670532f19bd6 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 13 Feb 2024 21:18:17 +0000
Subject: [PATCH 018/259] chore(deps): update grafana/grafana docker tag to
 v10.3.3

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 52d44f1..c23d4b2 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -53,7 +53,7 @@ uptimekuma_image: louislam/uptime-kuma:1.23.11
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu
-grafana_image: grafana/grafana:10.3.1
+grafana_image: grafana/grafana:10.3.3
 grafana_admin_password: "{{ vault_grafana_admin_password }}"
 
 homebox_host_port: 8092

From 8dccd53f445045f0bc5cb3aa5d7cbb1abd2febaf Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 13 Feb 2024 00:18:18 +0000
Subject: [PATCH 019/259] chore(deps): update joseluisq/static-web-server
 docker tag to v2.27

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index c23d4b2..288e308 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -43,7 +43,7 @@ influxdb_init_password: "{{ vault_influxdb_init_password }}"
 jabber_host_port: 8086
 prosody_domain_name: jabber.n39.eu
 prosody_image: netz39/prosody:0.11
-prosody_web_image: joseluisq/static-web-server:2.25
+prosody_web_image: joseluisq/static-web-server:2.27
 prosody_config_dir: "/etc/prosody"
 prosody_data_dir: "{{ data_dir }}/prosody"
 

From 4b9870f5d5b3f9b3459af1cc2f47bfd3c109ece1 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 13 Feb 2024 01:18:27 +0000
Subject: [PATCH 020/259] chore(deps): update postgres docker tag to v16.2

---
 host-pottwal.yml                  | 2 +-
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/host-pottwal.yml b/host-pottwal.yml
index 846a4b2..90ed514 100644
--- a/host-pottwal.yml
+++ b/host-pottwal.yml
@@ -117,7 +117,7 @@
     - name: Ensure shlink database container is running
       docker_container:
         name: shlinkdb
-        image: postgres:16.1-alpine
+        image: postgres:16.2-alpine
         pull: true
         state: started
         restart_policy: unless-stopped
diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 288e308..ac865f1 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -24,7 +24,7 @@ shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 hedgedoc_host_port: 8084
 hedgedoc_domain_name: pad.n39.eu
 hedgedoc_image: quay.io/hedgedoc/hedgedoc:1.9.9
-hedgedoc_db_image: postgres:16.1-alpine
+hedgedoc_db_image: postgres:16.2-alpine
 hedgedoc_postgres_password: "{{ vault_hedgedoc_postgres_password }}"
 
 redmine_host_port: 8087

From ed1b8cc0c1b8de6cfc3257868da8cc4174d8c18a Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 18 Feb 2024 19:19:08 +0000
Subject: [PATCH 021/259] chore(deps): update renovate/renovate docker tag to
 v37.198.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index ac865f1..30b850b 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -60,7 +60,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.193.0
+renovate_image: renovate/renovate:37.198.0
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"
\ No newline at end of file

From 78b03a5320b3198e41e63af7b49001c5fbf57e96 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 21 Feb 2024 09:18:21 +0000
Subject: [PATCH 022/259] chore(deps): update dependency community.grafana to
 v1.8.0

---
 requirements.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/requirements.yml b/requirements.yml
index b6d9c55..51a621b 100644
--- a/requirements.yml
+++ b/requirements.yml
@@ -15,4 +15,4 @@ roles:
 
 collections:
   - name: community.grafana
-    version: 1.7.0
+    version: 1.8.0

From 790b8a3f392da6e8a619e8322b7b20c295aedd6e Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 21 Feb 2024 16:18:20 +0000
Subject: [PATCH 023/259] chore(deps): update bitnami/dokuwiki:20230404 docker
 digest to 91dbc4a

---
 host-tau.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-tau.yml b/host-tau.yml
index 73a895a..2f19dba 100644
--- a/host-tau.yml
+++ b/host-tau.yml
@@ -14,7 +14,7 @@
     dokuwiki_port: 9005
     # This container is pinned, because there are issues
     # with backwards compatibility within the same tag!
-    dokuwiki_image: bitnami/dokuwiki:20230404@sha256:d195188d23da8210d81abbc775ee91c409b34ea42c69917ffd48d474d6734d05
+    dokuwiki_image: bitnami/dokuwiki:20230404@sha256:91dbc4ab1759305309e23e60fe704faf7b980a3ec659e552b4cb9ce4393bcd75
 
     discord_invite_domain: discord.netz39.de
 

From 6d389a3c2aa4f3207c07a0dc07a1f1c579d8f182 Mon Sep 17 00:00:00 2001
From: David Kilias <david.kilias@gmail.com>
Date: Thu, 22 Feb 2024 13:52:26 +0100
Subject: [PATCH 024/259] fix: remove GEOLITE_LICENSE_KEY to disable
 geolocating requests to shlink

---
 host-pottwal.yml                  |  1 -
 host_vars/pottwal.n39.eu/vars.yml |  1 -
 host_vars/pottwal.n39.eu/vault    | 66 +++++++++++++++----------------
 3 files changed, 32 insertions(+), 36 deletions(-)

diff --git a/host-pottwal.yml b/host-pottwal.yml
index 90ed514..8b09710 100644
--- a/host-pottwal.yml
+++ b/host-pottwal.yml
@@ -147,7 +147,6 @@
         env:
           TZ: "{{ timezone }}"
           DEFAULT_DOMAIN: "{{ shlink_domain_name }}"
-          GEOLITE_LICENSE_KEY: "{{ shlink_geolite_license_key }}"
           INITIAL_API_KEY: "{{ shlink_initial_api_key }}"
           DB_DRIVER: "postgres"
           DB_HOST: shlinkdb
diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 30b850b..d880286 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -17,7 +17,6 @@ forgejo_image: codeberg.org/forgejo/forgejo:1.21.5-0
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu
 shlink_image: shlinkio/shlink:3.7.3
-shlink_geolite_license_key: "{{ vault_shlink_geolite_license_key }}"
 shlink_initial_api_key: "{{ vault_shlink_initial_api_key }}"
 shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 
diff --git a/host_vars/pottwal.n39.eu/vault b/host_vars/pottwal.n39.eu/vault
index d923c07..f112beb 100644
--- a/host_vars/pottwal.n39.eu/vault
+++ b/host_vars/pottwal.n39.eu/vault
@@ -1,35 +1,33 @@
 $ANSIBLE_VAULT;1.1;AES256
-33383365663237393662386363396661323463396239653830396164316538323362376337326233
-3730346439376362396261333165616536616135366637660a323435346262353061323130303362
-66656533633333346536653638303463386334306461313830383631323331343332376435636631
-6662323136306538370a616563376364373737396134616161356134636663613262366234306530
-36396635383933393034613863386338613266333834616666393939393261613235366132663866
-65356162633934633066336532396662356163386335313833386230643165633464663065383131
-32366534366335623136363738653066336339623832636166343239613535623333343035633662
-39663638386364306361643861666530323730626265633865343534643564363961636463356431
-34333463383137363064323634656561313464303266653138383038303964363263326165643130
-63613162383030323263613964303932623339626139326161393439663763386462313562636330
-65323762356135333736316564623565316533646132303265623364386263383733306136326237
-36353638663936666633393332623436643436333164633566386130396638633637323538633033
-37326663636139646236636164353066626136396566633363333236313266656139646563386234
-66633735396532613838646561643563623538363264383763303363313266363134353232643666
-33333531386238356232306164346331353366636565656463323134333362353764663437663330
-63363065353430353861316134656533363533666335373163303661656134646237386664636564
-33643836386331363461383934666335336533353331363735346566323139646362343765383766
-38306462313033353831626439626235393036393765306139313161353163636233616139396430
-65373236336562343939356266333037643838363333396462336331303366333362393462313233
-61343632646431616461343861626437623362343762393265323461343263396338373434623065
-63316438323732326531316534613531366464623435623163663830343962343532353136366338
-36646663363763633432376632353164366463336166356465333238383637623633663039343938
-31613662666336316137376338393131393331653331663465373266313164303962363932656430
-63623733313362323166356435346634333431306431393633346430336461663965643362643634
-37666635633937323635373837333034653835363939623938306462366234343130386430303965
-39323563343033343137363065396134366434383637363661323538343135323336333962646131
-36356436396431646566613133336263653466633237373839626361393738383865313238363535
-66623031623562386634366238383632326238636231626637633436326336633335626433653363
-36626237333962653863613932376230396535303834323030353239623161653734303966633930
-38653338636431383730376262386630613062366231366239616233616439386531313338343166
-38656138303363643933633864616366343039626237616633643961346338623737313266633537
-36623731323639643530363766323530616462366264613265303861663863306461393834393565
-38656535353138306264386433323337343661326435316632323838303639353830613832613461
-6461613532393237393866613765396530633561663838613461
+61323135656430613464613334653239613865623361363734306139383261653563373365306364
+3232353634356664323235393135653762383538353635660a363461393133376566613064366233
+32323065633164646535386461373261373461343961383333333063663831353961656265313836
+6231356666356266390a333230376264313537376461326331313134313737616137636465336430
+38616261333534393464343630616464326331653163616435613863616165633730353263656565
+66346536393737353962666438333661663636636339613633653363323438326635643738656430
+38313635323066376532396666653633393736633939306566333337336635386430373662666534
+64653662333832313964323039353838353638313337306631613564383933663166633164373132
+33326537366135613733386436663366613238636133343065376534323561656265613433336637
+64613330306530323238663738356133663166303730633735656562636139626232396130656337
+34323238326437303730643736646430646239383239613061333033343733663832656262383732
+66343236326537633539353230376365666462393264303532346431383838303963613731343263
+63656630623934643763636237366630386333646263336261386162656439323232653066393266
+36633239323638396639623734666466343164663539316165386632306235363435303139356433
+37633731366565393339326235616264616535363461653531613331356239666534653232376235
+36623431343136633964656330313833643161353738303564663662363062653631363661633333
+31663339643034333336313630356266393062323637333664646335363961386433303662343734
+32313338613064373966393163623863633037353564316361656162323234313435646532343231
+30356336626435306332316566323932313564626164316165646530656365363330643033376134
+32363530306536633531326535373136326364356237376264646130663430343838323834386264
+35306561353866346430393837346333396236356465666334656139373764653365396534613034
+36393239623930656266336130303236393336373063623738653939393563336130316461393535
+32313932396263306439356663373361393539633639343238393631343830306532336162616565
+32336264646333613238363065613130633966656164666333303332313536616334623639613630
+34323665366131663736623638636263616131393133346464653037366465633332363131316332
+65356563373036353432376234626262313266316435656562646365363539386361653966366465
+39383536313764663732613462383466616238363765633062333830373038656334363764643663
+61346664353064333238313038303333386436653738316630383237366532353765346633383862
+65666235666663666638656337303762626563663135613431616439633731383638653466623434
+62663164633032666638656464666130623566356636343330386236336266386263323936396330
+31613339623034663466613930613062343666633530306136623734393862333365646538326261
+63646439343565366463

From c5aba025c91f7a4ffda813ddeda0b8afc6b37bea Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 22 Feb 2024 18:18:21 +0000
Subject: [PATCH 025/259] chore(deps): update codeberg.org/forgejo/forgejo
 docker tag to v1.21.6

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index d880286..cf13a55 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -12,7 +12,7 @@ cleanuri_amqp_vhost: "/cleanuri"
 forgejo_host_port: 9091
 forgejo_ssh_port: 2222
 forgejo_domain_name: git.n39.eu
-forgejo_image: codeberg.org/forgejo/forgejo:1.21.5-0
+forgejo_image: codeberg.org/forgejo/forgejo:1.21.6-0
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu

From 801974e13d25d0187b6e21d9cefe2bbc23c7b718 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 24 Feb 2024 01:18:11 +0000
Subject: [PATCH 026/259] chore(deps): update bitnami/dokuwiki:20230404 docker
 digest to 30e5bb9

---
 host-tau.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-tau.yml b/host-tau.yml
index 2f19dba..651f321 100644
--- a/host-tau.yml
+++ b/host-tau.yml
@@ -14,7 +14,7 @@
     dokuwiki_port: 9005
     # This container is pinned, because there are issues
     # with backwards compatibility within the same tag!
-    dokuwiki_image: bitnami/dokuwiki:20230404@sha256:91dbc4ab1759305309e23e60fe704faf7b980a3ec659e552b4cb9ce4393bcd75
+    dokuwiki_image: bitnami/dokuwiki:20230404@sha256:30e5bb9c1ebb0171d2c125cd13e77febd944a765f9e9363f31ab45401094ac02
 
     discord_invite_domain: discord.netz39.de
 

From 9feb5446875b8ebce871d67c04c11f2b4eeb8d94 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Mon, 26 Feb 2024 18:18:18 +0000
Subject: [PATCH 027/259] chore(deps): update renovate/renovate docker tag to
 v37.214.1

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index cf13a55..d928035 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.198.0
+renovate_image: renovate/renovate:37.214.1
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"
\ No newline at end of file

From 5f890d4858e0c40f27e2ea6d0d057112ad715495 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Sat, 24 Feb 2024 15:13:31 +0100
Subject: [PATCH 028/259] Update cleanURI components to the latest versions

This completes the switch to the new Site API and external site
implementations.

As there is some trouble with Amazon (see https://github.com/penguineer/cleanURI-site-implementations/pull/5)
Amazon is not available for now.
---
 roles/cleanuri/defaults/main.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/roles/cleanuri/defaults/main.yml b/roles/cleanuri/defaults/main.yml
index 217d728..12e74f2 100644
--- a/roles/cleanuri/defaults/main.yml
+++ b/roles/cleanuri/defaults/main.yml
@@ -21,5 +21,5 @@ cleanuri_amqp_retrieval: "extractor"
 # Docker images
 cleanuri_image_webui: mrtux/cleanuri-webui:0.2.0
 cleanuri_image_apigateway: mrtux/cleanuri-apigateway:0.3.1
-cleanuri_image_canonizer: mrtux/cleanuri-canonizer:0.4.0
-cleanuri_image_extractor: mrtux/cleanuri-extractor:0.4.0
+cleanuri_image_canonizer: mrtux/cleanuri-canonizer:0.5.0
+cleanuri_image_extractor: mrtux/cleanuri-extractor:0.5.0

From 0f5c908997d5a167e1f35fabb1cf1424d65892a1 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 23 Feb 2024 21:06:17 +0000
Subject: [PATCH 029/259] chore(deps): update netz39/entities_validation_svc
 docker tag to v1.0.1

---
 host-krypton.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-krypton.yml b/host-krypton.yml
index 5dfed2f..e75d85b 100644
--- a/host-krypton.yml
+++ b/host-krypton.yml
@@ -116,7 +116,7 @@
     - name: Ensure container for entities validation service is running
       docker_container:
         name: entities_validation_svc
-        image: netz39/entities_validation_svc:v1.0.0
+        image: netz39/entities_validation_svc:v1.0.1
         pull: true
         state: started
         detach: yes

From da2f73811cf763570aeb94eff2369cb903144d94 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 3 Mar 2024 13:18:11 +0000
Subject: [PATCH 030/259] chore(deps): update renovate/renovate docker tag to
 v37.224.4

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index d928035..f250073 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.214.1
+renovate_image: renovate/renovate:37.224.4
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"
\ No newline at end of file

From 0326be4e11a5823aa945cd3db2cf4f836f6bf3d6 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 5 Mar 2024 03:18:12 +0000
Subject: [PATCH 031/259] chore(deps): update redmine docker tag to v5.1.2

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index f250073..8e75921 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -28,7 +28,7 @@ hedgedoc_postgres_password: "{{ vault_hedgedoc_postgres_password }}"
 
 redmine_host_port: 8087
 redmine_domain_name: redmine.n39.eu
-redmine_image: redmine:5.1.1
+redmine_image: redmine:5.1.2
 redmine_mysql_image: mysql:8.3
 redmine_database: redmine
 redmine_database_password: "{{ vault_redmine_database_password }}"

From adc44ee08cf46cd25f8fbe08c3b6079ca731d950 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 6 Mar 2024 12:18:14 +0000
Subject: [PATCH 032/259] chore(deps): update codeberg.org/forgejo/forgejo
 docker tag to v1.21.7

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index f250073..58a63d5 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -12,7 +12,7 @@ cleanuri_amqp_vhost: "/cleanuri"
 forgejo_host_port: 9091
 forgejo_ssh_port: 2222
 forgejo_domain_name: git.n39.eu
-forgejo_image: codeberg.org/forgejo/forgejo:1.21.6-0
+forgejo_image: codeberg.org/forgejo/forgejo:1.21.7-0
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu

From a158bc496954e8ca41d1341f6332480953352546 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 6 Mar 2024 15:18:15 +0000
Subject: [PATCH 033/259] chore(deps): update grafana/grafana docker tag to
 v10.4.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index f250073..02b3b85 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -52,7 +52,7 @@ uptimekuma_image: louislam/uptime-kuma:1.23.11
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu
-grafana_image: grafana/grafana:10.3.3
+grafana_image: grafana/grafana:10.4.0
 grafana_admin_password: "{{ vault_grafana_admin_password }}"
 
 homebox_host_port: 8092

From 3433dddea018a4f5e6e16ab462ac682eeac2b962 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 8 Mar 2024 21:18:15 +0000
Subject: [PATCH 034/259] chore(deps): update renovate/renovate docker tag to
 v37.233.1

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index f250073..374e5d4 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.224.4
+renovate_image: renovate/renovate:37.233.1
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"
\ No newline at end of file

From 693cdb085f5248fc710f4b98040d51ac73dee209 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 9 Mar 2024 00:18:18 +0000
Subject: [PATCH 035/259] chore(deps): update joseluisq/static-web-server
 docker tag to v2.28

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index f250073..1540ee8 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -42,7 +42,7 @@ influxdb_init_password: "{{ vault_influxdb_init_password }}"
 jabber_host_port: 8086
 prosody_domain_name: jabber.n39.eu
 prosody_image: netz39/prosody:0.11
-prosody_web_image: joseluisq/static-web-server:2.27
+prosody_web_image: joseluisq/static-web-server:2.28
 prosody_config_dir: "/etc/prosody"
 prosody_data_dir: "{{ data_dir }}/prosody"
 

From a83007bafd12c30b45b6f2c01750420509f66912 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 9 Mar 2024 00:19:59 +0000
Subject: [PATCH 036/259] chore(deps): update bitnami/dokuwiki docker tag to
 v20240206

---
 host-tau.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-tau.yml b/host-tau.yml
index 651f321..d6c4cea 100644
--- a/host-tau.yml
+++ b/host-tau.yml
@@ -14,7 +14,7 @@
     dokuwiki_port: 9005
     # This container is pinned, because there are issues
     # with backwards compatibility within the same tag!
-    dokuwiki_image: bitnami/dokuwiki:20230404@sha256:30e5bb9c1ebb0171d2c125cd13e77febd944a765f9e9363f31ab45401094ac02
+    dokuwiki_image: bitnami/dokuwiki:20240206@sha256:19611df85907502ac56ede22f2a4d8b275720bdacde5290f90a7d340d1d60567
 
     discord_invite_domain: discord.netz39.de
 

From 648af52e35bf7910de8c646e8ee28c986e8c56cc Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 9 Mar 2024 09:18:13 +0000
Subject: [PATCH 037/259] chore(deps): update shlinkio/shlink docker tag to
 v3.7.4

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index f250073..283c2e7 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -16,7 +16,7 @@ forgejo_image: codeberg.org/forgejo/forgejo:1.21.6-0
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu
-shlink_image: shlinkio/shlink:3.7.3
+shlink_image: shlinkio/shlink:3.7.4
 shlink_initial_api_key: "{{ vault_shlink_initial_api_key }}"
 shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 

From e5aacca5d96cab38ca0b47f45499491c88d14544 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 9 Mar 2024 09:20:00 +0000
Subject: [PATCH 038/259] chore(deps): update shlinkio/shlink docker tag to v4

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 283c2e7..e62d89f 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -16,7 +16,7 @@ forgejo_image: codeberg.org/forgejo/forgejo:1.21.6-0
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu
-shlink_image: shlinkio/shlink:3.7.4
+shlink_image: shlinkio/shlink:4.0.2
 shlink_initial_api_key: "{{ vault_shlink_initial_api_key }}"
 shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 

From ff1198c411e63353b5082eb63dce4e7d3ec0b606 Mon Sep 17 00:00:00 2001
From: David Kilias <david.kilias@gmail.com>
Date: Sat, 9 Mar 2024 17:26:16 +0100
Subject: [PATCH 039/259] fix: use non digest tag for dokuwiki image

---
 host-tau.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-tau.yml b/host-tau.yml
index d6c4cea..a1d4b46 100644
--- a/host-tau.yml
+++ b/host-tau.yml
@@ -14,7 +14,7 @@
     dokuwiki_port: 9005
     # This container is pinned, because there are issues
     # with backwards compatibility within the same tag!
-    dokuwiki_image: bitnami/dokuwiki:20240206@sha256:19611df85907502ac56ede22f2a4d8b275720bdacde5290f90a7d340d1d60567
+    dokuwiki_image: bitnami/dokuwiki:20240206.1.0
 
     discord_invite_domain: discord.netz39.de
 

From 5ed4c6ba5d569ce8b764d9149058760b88571d43 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 17 Mar 2024 11:18:21 +0000
Subject: [PATCH 040/259] chore(deps): update renovate/renovate docker tag to
 v37.252.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 5dc039f..deab032 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.233.1
+renovate_image: renovate/renovate:37.252.0
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"
\ No newline at end of file

From aaee26d2f6479922834cac94291a53bdec290286 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 15 Mar 2024 23:18:17 +0000
Subject: [PATCH 041/259] chore(deps): update shlinkio/shlink docker tag to
 v4.0.3

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index deab032..0837001 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -16,7 +16,7 @@ forgejo_image: codeberg.org/forgejo/forgejo:1.21.7-0
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu
-shlink_image: shlinkio/shlink:4.0.2
+shlink_image: shlinkio/shlink:4.0.3
 shlink_initial_api_key: "{{ vault_shlink_initial_api_key }}"
 shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 

From 907c1f83a1cba1c876f41aef9af3f52db408a2b8 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 22 Mar 2024 05:18:16 +0000
Subject: [PATCH 042/259] chore(deps): update jacobalberty/unifi docker tag to
 v8.1.113

---
 host-unicorn.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-unicorn.yml b/host-unicorn.yml
index d7e849c..b3f7a5b 100644
--- a/host-unicorn.yml
+++ b/host-unicorn.yml
@@ -13,7 +13,7 @@
     - name: Setup the docker container for unifi-controller
       docker_container:
         name: unifi-controller
-        image: jacobalberty/unifi:v8.0.28
+        image: jacobalberty/unifi:v8.1.113
         state: started
         restart_policy: unless-stopped
         container_default_behavior: no_defaults

From 5af857bdf8b7d7cc24c50b3bbb36ce2d0d637d01 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 22 Mar 2024 00:18:13 +0000
Subject: [PATCH 043/259] chore(deps): update renovate/renovate docker tag to
 v37.265.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 0837001..015679d 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.252.0
+renovate_image: renovate/renovate:37.265.0
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"
\ No newline at end of file

From f1fa13c6f2e66c9dfd8a77685bc5c6832f5e7bca Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 21 Mar 2024 14:18:15 +0000
Subject: [PATCH 044/259] chore(deps): update grafana/grafana docker tag to
 v10.4.1

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 015679d..0f9cb4e 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -52,7 +52,7 @@ uptimekuma_image: louislam/uptime-kuma:1.23.11
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu
-grafana_image: grafana/grafana:10.4.0
+grafana_image: grafana/grafana:10.4.1
 grafana_admin_password: "{{ vault_grafana_admin_password }}"
 
 homebox_host_port: 8092

From 9a5f4efe85835eaeae88bc1957d20fcd44bf4027 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 23 Mar 2024 17:18:10 +0000
Subject: [PATCH 045/259] chore(deps): update codeberg.org/forgejo/forgejo
 docker tag to v1.21.8

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 0f9cb4e..febe997 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -12,7 +12,7 @@ cleanuri_amqp_vhost: "/cleanuri"
 forgejo_host_port: 9091
 forgejo_ssh_port: 2222
 forgejo_domain_name: git.n39.eu
-forgejo_image: codeberg.org/forgejo/forgejo:1.21.7-0
+forgejo_image: codeberg.org/forgejo/forgejo:1.21.8-0
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu

From 8126e08afa8967047140994a14d235b301d8d6d5 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Mon, 25 Mar 2024 16:18:14 +0000
Subject: [PATCH 046/259] chore(deps): update renovate/renovate docker tag to
 v37.269.5

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index febe997..a1c9ab8 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.265.0
+renovate_image: renovate/renovate:37.269.5
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"
\ No newline at end of file

From 0bc1bdad650e046e7e3b149bc55a7e0a2cd4f324 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 30 Mar 2024 09:18:10 +0000
Subject: [PATCH 047/259] chore(deps): update renovate/renovate docker tag to
 v37.278.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index a1c9ab8..18697cb 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.269.5
+renovate_image: renovate/renovate:37.278.0
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"
\ No newline at end of file

From 28e0587202b83b7316e87185738718f5b994895d Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 4 Apr 2024 19:18:10 +0000
Subject: [PATCH 048/259] chore(deps): update codeberg.org/forgejo/forgejo
 docker tag to v1.21.10

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 18697cb..ca1ffd2 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -12,7 +12,7 @@ cleanuri_amqp_vhost: "/cleanuri"
 forgejo_host_port: 9091
 forgejo_ssh_port: 2222
 forgejo_domain_name: git.n39.eu
-forgejo_image: codeberg.org/forgejo/forgejo:1.21.8-0
+forgejo_image: codeberg.org/forgejo/forgejo:1.21.10-0
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu

From 71ff7a276c2b12fdbfb1ebacd0282b54d6d378bd Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 10 Apr 2024 08:18:13 +0000
Subject: [PATCH 049/259] chore(deps): update bitnami/rabbitmq docker tag to
 v3.13.1

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index e7cc5f9..7f0896e 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -13,7 +13,7 @@
     nodered_image: nodered/node-red:3.0.1-1-18
     nodered_data: "{{ data_dir }}/nodered"
 
-    rabbitmq_image: bitnami/rabbitmq:3.12.13
+    rabbitmq_image: bitnami/rabbitmq:3.13.1
     rabbitmq_data: "{{ data_dir }}/rabbitmq"
 
     pwr_meter_pulse_gw_image: netz39/power-meter-pulse-gateway:0.3.0

From 5bbbe72ba58661d2a0f2f19aeb53d6b3d98d9098 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 11 Apr 2024 07:18:17 +0000
Subject: [PATCH 050/259] chore(deps): update renovate/renovate docker tag to
 v37.286.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index ca1ffd2..878edb8 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.278.0
+renovate_image: renovate/renovate:37.286.0
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"
\ No newline at end of file

From e9de3728678de163681c553a35e82b630a6b8621 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 11 Apr 2024 16:18:37 +0000
Subject: [PATCH 051/259] chore(deps): update grafana/grafana docker tag to
 v10.4.2

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 878edb8..36c5e2e 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -52,7 +52,7 @@ uptimekuma_image: louislam/uptime-kuma:1.23.11
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu
-grafana_image: grafana/grafana:10.4.1
+grafana_image: grafana/grafana:10.4.2
 grafana_admin_password: "{{ vault_grafana_admin_password }}"
 
 homebox_host_port: 8092

From e25f5082b25886e5d8e894ec4ea99f1b8b101bd1 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 14 Apr 2024 06:18:12 +0000
Subject: [PATCH 052/259] chore(deps): update renovate/renovate docker tag to
 v37.293.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 878edb8..7d93f21 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.286.0
+renovate_image: renovate/renovate:37.293.0
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"
\ No newline at end of file

From 039d2161587b1c01538af71b2477d27b9eaa9d0f Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 14 Apr 2024 08:19:52 +0000
Subject: [PATCH 053/259] chore(deps): update shlinkio/shlink docker tag to
 v4.1.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index f09c8da..5681719 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -16,7 +16,7 @@ forgejo_image: codeberg.org/forgejo/forgejo:1.21.10-0
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu
-shlink_image: shlinkio/shlink:4.0.3
+shlink_image: shlinkio/shlink:4.1.0
 shlink_initial_api_key: "{{ vault_shlink_initial_api_key }}"
 shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 

From da027ecef97de38d75a7a74e58ac3a2dfe48d9a3 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 20 Apr 2024 19:18:15 +0000
Subject: [PATCH 054/259] chore(deps): update codeberg.org/forgejo/forgejo
 docker tag to v1.21.11

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 5681719..1c9f1ae 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -12,7 +12,7 @@ cleanuri_amqp_vhost: "/cleanuri"
 forgejo_host_port: 9091
 forgejo_ssh_port: 2222
 forgejo_domain_name: git.n39.eu
-forgejo_image: codeberg.org/forgejo/forgejo:1.21.10-0
+forgejo_image: codeberg.org/forgejo/forgejo:1.21.11-0
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu

From 578bd32ad97d33febcc21d796d210bf9ffb0f0b8 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 18 Apr 2024 18:18:12 +0000
Subject: [PATCH 055/259] chore(deps): update louislam/uptime-kuma docker tag
 to v1.23.12

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 1c9f1ae..44d9841 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -48,7 +48,7 @@ prosody_data_dir: "{{ data_dir }}/prosody"
 
 uptimekuma_host_port: 8085
 uptimekuma_domain_name: uptime.n39.eu
-uptimekuma_image: louislam/uptime-kuma:1.23.11
+uptimekuma_image: louislam/uptime-kuma:1.23.12
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu

From d025bbfe40069aa497f1cd20c5d601fbf852c26f Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 25 Apr 2024 08:18:16 +0000
Subject: [PATCH 056/259] chore(deps): update louislam/uptime-kuma docker tag
 to v1.23.13

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 44d9841..32bb032 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -48,7 +48,7 @@ prosody_data_dir: "{{ data_dir }}/prosody"
 
 uptimekuma_host_port: 8085
 uptimekuma_domain_name: uptime.n39.eu
-uptimekuma_image: louislam/uptime-kuma:1.23.12
+uptimekuma_image: louislam/uptime-kuma:1.23.13
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu

From efd592d039aebcc1f8d452c2eb8a25acf23a62a1 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 28 Apr 2024 18:18:22 +0000
Subject: [PATCH 057/259] chore(deps): update renovate/renovate docker tag to
 v37.326.3

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 44d9841..00b9c40 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.293.0
+renovate_image: renovate/renovate:37.326.3
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"
\ No newline at end of file

From 77108a5d14492b7214789794d496bb3110590d4b Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 28 Apr 2024 23:18:20 +0000
Subject: [PATCH 058/259] chore(deps): update joseluisq/static-web-server
 docker tag to v2.30

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index ba8d35f..bd09886 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -42,7 +42,7 @@ influxdb_init_password: "{{ vault_influxdb_init_password }}"
 jabber_host_port: 8086
 prosody_domain_name: jabber.n39.eu
 prosody_image: netz39/prosody:0.11
-prosody_web_image: joseluisq/static-web-server:2.28
+prosody_web_image: joseluisq/static-web-server:2.30
 prosody_config_dir: "/etc/prosody"
 prosody_data_dir: "{{ data_dir }}/prosody"
 

From edc9f4955079dec27f3e003bdd6f1ec9a385c07f Mon Sep 17 00:00:00 2001
From: David Kilias <david.kilias@gmail.com>
Date: Mon, 29 Apr 2024 08:28:43 +0200
Subject: [PATCH 059/259] add tags to prosody-web tasks

---
 host-pottwal.yml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/host-pottwal.yml b/host-pottwal.yml
index 8b09710..c609ee6 100644
--- a/host-pottwal.yml
+++ b/host-pottwal.yml
@@ -269,6 +269,8 @@
           - "127.0.0.1:{{ jabber_host_port }}:80"
         volumes:
           - "{{ prosody_data_dir }}/var/www:/public:ro"
+      tags:
+        - prosody-web
 
     - name: Setup proxy site {{ prosody_domain_name }}
       # point to static website for now
@@ -277,6 +279,8 @@
       vars:
         site_name: "{{ prosody_domain_name }}"
         proxy_port: "{{ jabber_host_port }}"
+      tags:
+        - prosody-web
 
     - name: Check if hedgedoc data dir exists
       ansible.builtin.stat:

From 8bd3d2f4c67f468064efe14622f6db970cdfc216 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 1 May 2024 00:18:18 +0000
Subject: [PATCH 060/259] chore(deps): update mysql docker tag to v8.4

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index bd09886..a9ccb65 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -29,7 +29,7 @@ hedgedoc_postgres_password: "{{ vault_hedgedoc_postgres_password }}"
 redmine_host_port: 8087
 redmine_domain_name: redmine.n39.eu
 redmine_image: redmine:5.1.2
-redmine_mysql_image: mysql:8.3
+redmine_mysql_image: mysql:8.4
 redmine_database: redmine
 redmine_database_password: "{{ vault_redmine_database_password }}"
 

From b4a9b6df084d815344674e987345e2e1fa17389f Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 1 May 2024 04:18:15 +0000
Subject: [PATCH 061/259] chore(deps): update bitnami/rabbitmq docker tag to
 v3.13.2

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index 7f0896e..ff1c822 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -13,7 +13,7 @@
     nodered_image: nodered/node-red:3.0.1-1-18
     nodered_data: "{{ data_dir }}/nodered"
 
-    rabbitmq_image: bitnami/rabbitmq:3.13.1
+    rabbitmq_image: bitnami/rabbitmq:3.13.2
     rabbitmq_data: "{{ data_dir }}/rabbitmq"
 
     pwr_meter_pulse_gw_image: netz39/power-meter-pulse-gateway:0.3.0

From 0695984e6ad38c6db4ceed25b29e79cc4de2b571 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Wed, 1 May 2024 12:26:59 +0200
Subject: [PATCH 062/259] Set Door audio volume to 70%

---
 files/platon/reboot.sh | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/files/platon/reboot.sh b/files/platon/reboot.sh
index f05d0c6..269d3af 100755
--- a/files/platon/reboot.sh
+++ b/files/platon/reboot.sh
@@ -1,11 +1,13 @@
 #!/bin/sh
 PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games'
+echo 'set PCM volume'
+sudo amixer set "PCM" "70%"
 echo 'start i2c-foo'
 sudo modprobe i2c_dev
 sudo modprobe i2c_bcm2708
 echo 'starting log'
 tmux new-session -s status -d 'sudo less /var/log/shuttercontrol.log'
-cd /home/pi/netz39_rollladensteuerung/raspberry/shuttercontrol 
+cd /home/pi/netz39_rollladensteuerung/raspberry/shuttercontrol
 echo 'switch-on.sh'
 ../switch-on.sh
 cd /home/pi

From 64b604d2c0e46158d9d92a727b995472b2f7cb7d Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 1 May 2024 16:18:17 +0000
Subject: [PATCH 063/259] chore(deps): update dersimn/brother_ql_web docker tag
 to v2.1.8

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index ff1c822..1a2833c 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -187,7 +187,7 @@
     - name: Setup docker container for BrotherQL Web UI printer
       docker_container:
         name: brotherql-web
-        image: dersimn/brother_ql_web:2.1.7-alpine
+        image: dersimn/brother_ql_web:2.1.8-alpine
         pull: true
         restart_policy: unless-stopped
         state: started

From e6a2cb9e97e5cf28f5f3cbc4a1668b040983e8af Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Thu, 2 May 2024 10:07:24 +0200
Subject: [PATCH 064/259] Update cleanURI-webui to 0.2.1

Security Updates
---
 roles/cleanuri/defaults/main.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/roles/cleanuri/defaults/main.yml b/roles/cleanuri/defaults/main.yml
index 12e74f2..c81ad6f 100644
--- a/roles/cleanuri/defaults/main.yml
+++ b/roles/cleanuri/defaults/main.yml
@@ -19,7 +19,7 @@ cleanuri_amqp_canonizer: "canonizer"
 cleanuri_amqp_retrieval: "extractor"
 
 # Docker images
-cleanuri_image_webui: mrtux/cleanuri-webui:0.2.0
+cleanuri_image_webui: mrtux/cleanuri-webui:0.2.1
 cleanuri_image_apigateway: mrtux/cleanuri-apigateway:0.3.1
 cleanuri_image_canonizer: mrtux/cleanuri-canonizer:0.5.0
 cleanuri_image_extractor: mrtux/cleanuri-extractor:0.5.0

From b1c2fff035f26f224a125146abd87e878e4d630e Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 3 May 2024 21:18:17 +0000
Subject: [PATCH 065/259] chore(deps): update dersimn/brother_ql_web docker tag
 to v2.1.9

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index 1a2833c..6d1f851 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -187,7 +187,7 @@
     - name: Setup docker container for BrotherQL Web UI printer
       docker_container:
         name: brotherql-web
-        image: dersimn/brother_ql_web:2.1.8-alpine
+        image: dersimn/brother_ql_web:2.1.9-alpine
         pull: true
         restart_policy: unless-stopped
         state: started

From 1153b0e75ce5cb39bbc3547fa708a86aab35096f Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 7 May 2024 11:18:22 +0000
Subject: [PATCH 066/259] chore(deps): update renovate/renovate docker tag to
 v37.349.2

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index a9ccb65..8881d2a 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.326.3
+renovate_image: renovate/renovate:37.349.2
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"
\ No newline at end of file

From 532d76f7e1c54fca9ccfdbc416041818783bbfd6 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 10 May 2024 00:18:23 +0000
Subject: [PATCH 067/259] chore(deps): update postgres docker tag to v16.3

---
 host-pottwal.yml                  | 2 +-
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/host-pottwal.yml b/host-pottwal.yml
index c609ee6..67ade80 100644
--- a/host-pottwal.yml
+++ b/host-pottwal.yml
@@ -117,7 +117,7 @@
     - name: Ensure shlink database container is running
       docker_container:
         name: shlinkdb
-        image: postgres:16.2-alpine
+        image: postgres:16.3-alpine
         pull: true
         state: started
         restart_policy: unless-stopped
diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 8881d2a..cdab066 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -23,7 +23,7 @@ shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 hedgedoc_host_port: 8084
 hedgedoc_domain_name: pad.n39.eu
 hedgedoc_image: quay.io/hedgedoc/hedgedoc:1.9.9
-hedgedoc_db_image: postgres:16.2-alpine
+hedgedoc_db_image: postgres:16.3-alpine
 hedgedoc_postgres_password: "{{ vault_hedgedoc_postgres_password }}"
 
 redmine_host_port: 8087

From 34788797b8d0abb5fc6e77a3e25f2088dc6372bf Mon Sep 17 00:00:00 2001
From: timo <n39@therr.de>
Date: Fri, 17 May 2024 09:58:40 +0200
Subject: [PATCH 068/259] Add ssh key

---
 group_vars/all/vars.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/group_vars/all/vars.yml b/group_vars/all/vars.yml
index 130de19..37760ea 100644
--- a/group_vars/all/vars.yml
+++ b/group_vars/all/vars.yml
@@ -61,6 +61,8 @@ users:
     ssh_pub:
       - !unsafe >
         ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILKhKHCPibswu2p6UQHKsBSqGaXzMFM+oMX0XEWsxCIc timo@Space-Lap
+      - !unsafe >
+        ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMJoS7nsLLzSAsZA4us2/7JaQhgRjj/BY+LOpDQnfy8u timo@mac
     sudo: yes
     docker: yes
 

From 277cbb350d3a56deaaab498b4fadab4a8c09683b Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 14 May 2024 08:18:19 +0000
Subject: [PATCH 069/259] chore(deps): update grafana/grafana docker tag to
 v10.4.3

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index cdab066..de82078 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -52,7 +52,7 @@ uptimekuma_image: louislam/uptime-kuma:1.23.13
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu
-grafana_image: grafana/grafana:10.4.2
+grafana_image: grafana/grafana:10.4.3
 grafana_admin_password: "{{ vault_grafana_admin_password }}"
 
 homebox_host_port: 8092

From 62a246b87264d711483854296c9db0b3b490bc8a Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 18 May 2024 09:18:21 +0000
Subject: [PATCH 070/259] chore(deps): update renovate/renovate docker tag to
 v37.368.6

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index de82078..5efc515 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.349.2
+renovate_image: renovate/renovate:37.368.6
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"
\ No newline at end of file

From e03f281a424c35954fc4e11932e761b5f3c1c5b6 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 19 May 2024 21:18:20 +0000
Subject: [PATCH 071/259] chore(deps): update joseluisq/static-web-server
 docker tag to v2.31

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 5efc515..86dc1af 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -42,7 +42,7 @@ influxdb_init_password: "{{ vault_influxdb_init_password }}"
 jabber_host_port: 8086
 prosody_domain_name: jabber.n39.eu
 prosody_image: netz39/prosody:0.11
-prosody_web_image: joseluisq/static-web-server:2.30
+prosody_web_image: joseluisq/static-web-server:2.31
 prosody_config_dir: "/etc/prosody"
 prosody_data_dir: "{{ data_dir }}/prosody"
 

From 48bea2f9799fb17ceac1f59916d42e43abc0c429 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Wed, 22 May 2024 21:39:21 +0200
Subject: [PATCH 072/259] Add missing newline

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 86dc1af..71799f8 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -62,4 +62,4 @@ homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 renovate_image: renovate/renovate:37.368.6
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
-renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"
\ No newline at end of file
+renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From dec35c785a5140b31346a80a56a2de814f892b8d Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Thu, 23 May 2024 20:29:43 +0200
Subject: [PATCH 073/259] Mount a config directory for redmine-mysql

This mount allows to add additional configuration, such as enabling
the native password plugin for now so that we can continue using
our database.
---
 host-pottwal.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/host-pottwal.yml b/host-pottwal.yml
index 67ade80..d426e06 100644
--- a/host-pottwal.yml
+++ b/host-pottwal.yml
@@ -454,6 +454,7 @@
           MYSQL_DATABASE: "{{ redmine_database }}"
         volumes:
           - "{{ data_dir }}/redmine/mysql:/var/lib/mysql"
+          - "{{ data_dir }}/redmine/mysql-config:/etc/mysql/conf.d"
         networks:
           - name: redminenet
       tags:

From cf350a3de9c73ffdb3db9622fd2ed5ddb0085a19 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 22 May 2024 08:18:11 +0000
Subject: [PATCH 074/259] chore(deps): update dependency community.grafana to
 v1.9.1

---
 requirements.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/requirements.yml b/requirements.yml
index 51a621b..085c322 100644
--- a/requirements.yml
+++ b/requirements.yml
@@ -15,4 +15,4 @@ roles:
 
 collections:
   - name: community.grafana
-    version: 1.8.0
+    version: 1.9.1

From c1ffd772c0063b9449af39a5a5d3e88a334f8190 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 6 Jun 2024 18:18:24 +0000
Subject: [PATCH 075/259] chore(deps): update renovate/renovate docker tag to
 v37.395.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 71799f8..a60b3ed 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.368.6
+renovate_image: renovate/renovate:37.395.0
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From 1057d3958f12b014a9c6ebfc006b34f50bc6a747 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 23 May 2024 08:18:17 +0000
Subject: [PATCH 076/259] chore(deps): update shlinkio/shlink docker tag to
 v4.1.1

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index a60b3ed..20db3c0 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -16,7 +16,7 @@ forgejo_image: codeberg.org/forgejo/forgejo:1.21.11-0
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu
-shlink_image: shlinkio/shlink:4.1.0
+shlink_image: shlinkio/shlink:4.1.1
 shlink_initial_api_key: "{{ vault_shlink_initial_api_key }}"
 shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 

From 991232bdbbb30bbd50f15dd36dba29cf5b0d3f40 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 1 Jun 2024 03:18:12 +0000
Subject: [PATCH 077/259] chore(deps): update bitnami/rabbitmq docker tag to
 v3.13.3

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index 6d1f851..9c6e1ed 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -13,7 +13,7 @@
     nodered_image: nodered/node-red:3.0.1-1-18
     nodered_data: "{{ data_dir }}/nodered"
 
-    rabbitmq_image: bitnami/rabbitmq:3.13.2
+    rabbitmq_image: bitnami/rabbitmq:3.13.3
     rabbitmq_data: "{{ data_dir }}/rabbitmq"
 
     pwr_meter_pulse_gw_image: netz39/power-meter-pulse-gateway:0.3.0

From dec9767e5dd53f91c8163d4ebd5e1e06dea476fc Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 19 Jun 2024 05:18:07 +0000
Subject: [PATCH 078/259] chore(deps): update joseluisq/static-web-server
 docker tag to v2.32

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 20db3c0..8c8314c 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -42,7 +42,7 @@ influxdb_init_password: "{{ vault_influxdb_init_password }}"
 jabber_host_port: 8086
 prosody_domain_name: jabber.n39.eu
 prosody_image: netz39/prosody:0.11
-prosody_web_image: joseluisq/static-web-server:2.31
+prosody_web_image: joseluisq/static-web-server:2.32
 prosody_config_dir: "/etc/prosody"
 prosody_data_dir: "{{ data_dir }}/prosody"
 

From 8b96762996704f0e0f9ab4fc604599643d07fe8a Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 13 Jun 2024 15:18:07 +0000
Subject: [PATCH 079/259] chore(deps): update grafana/grafana docker tag to
 v10.4.4

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 8c8314c..b40c312 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -52,7 +52,7 @@ uptimekuma_image: louislam/uptime-kuma:1.23.13
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu
-grafana_image: grafana/grafana:10.4.3
+grafana_image: grafana/grafana:10.4.4
 grafana_admin_password: "{{ vault_grafana_admin_password }}"
 
 homebox_host_port: 8092

From f3b233f1b50a51ab839aeb53b9ffb03597818934 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 12 Jun 2024 20:18:07 +0000
Subject: [PATCH 080/259] chore(deps): update redmine docker tag to v5.1.3

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index b40c312..2581c65 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -28,7 +28,7 @@ hedgedoc_postgres_password: "{{ vault_hedgedoc_postgres_password }}"
 
 redmine_host_port: 8087
 redmine_domain_name: redmine.n39.eu
-redmine_image: redmine:5.1.2
+redmine_image: redmine:5.1.3
 redmine_mysql_image: mysql:8.4
 redmine_database: redmine
 redmine_database_password: "{{ vault_redmine_database_password }}"

From b1c3a049704ccdea7b3d515631b87e6ba1b88db1 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 20 Jun 2024 16:18:14 +0000
Subject: [PATCH 081/259] chore(deps): update renovate/renovate docker tag to
 v37.413.3

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 2581c65..bba6f4f 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.395.0
+renovate_image: renovate/renovate:37.413.3
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From 6b7f6664732f57449446bea6ce25033bf35ab880 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 25 Jun 2024 08:18:18 +0000
Subject: [PATCH 082/259] chore(deps): update grafana/grafana docker tag to
 v10.4.5

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index bba6f4f..40ea8b1 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -52,7 +52,7 @@ uptimekuma_image: louislam/uptime-kuma:1.23.13
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu
-grafana_image: grafana/grafana:10.4.4
+grafana_image: grafana/grafana:10.4.5
 grafana_admin_password: "{{ vault_grafana_admin_password }}"
 
 homebox_host_port: 8092

From 7e668a651b554f0c49ace71c5661bce4bdb63ac5 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 2 Jul 2024 16:18:19 +0000
Subject: [PATCH 083/259] chore(deps): update renovate/renovate docker tag to
 v37.422.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 40ea8b1..0152eaf 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.413.3
+renovate_image: renovate/renovate:37.422.0
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From 62348a06c2a526bcd648e362e63182cb33cadb1d Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 3 Jul 2024 15:18:16 +0000
Subject: [PATCH 084/259] chore(deps): update bitnami/rabbitmq docker tag to
 v3.13.4

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index 9c6e1ed..1b38f0c 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -13,7 +13,7 @@
     nodered_image: nodered/node-red:3.0.1-1-18
     nodered_data: "{{ data_dir }}/nodered"
 
-    rabbitmq_image: bitnami/rabbitmq:3.13.3
+    rabbitmq_image: bitnami/rabbitmq:3.13.4
     rabbitmq_data: "{{ data_dir }}/rabbitmq"
 
     pwr_meter_pulse_gw_image: netz39/power-meter-pulse-gateway:0.3.0

From 871550055a651e23734df94dccfafc54615a0f2a Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Mon, 15 Jul 2024 19:18:17 +0000
Subject: [PATCH 085/259] chore(deps): update renovate/renovate docker tag to
 v37.431.7

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 0152eaf..7decf08 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.422.0
+renovate_image: renovate/renovate:37.431.7
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From 6875c74593a81b886e236655fe9f3374d7277bdc Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 31 Jul 2024 23:21:35 +0000
Subject: [PATCH 086/259] chore(deps): update renovate/renovate docker tag to
 v38

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 7decf08..3d6ed60 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:37.431.7
+renovate_image: renovate/renovate:38.17.1
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From f2f195a52810963c6cab1ccff529f80760877f8e Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 24 Jul 2024 15:18:20 +0000
Subject: [PATCH 087/259] chore(deps): update bitnami/rabbitmq docker tag to
 v3.13.6

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index 1b38f0c..6c09371 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -13,7 +13,7 @@
     nodered_image: nodered/node-red:3.0.1-1-18
     nodered_data: "{{ data_dir }}/nodered"
 
-    rabbitmq_image: bitnami/rabbitmq:3.13.4
+    rabbitmq_image: bitnami/rabbitmq:3.13.6
     rabbitmq_data: "{{ data_dir }}/rabbitmq"
 
     pwr_meter_pulse_gw_image: netz39/power-meter-pulse-gateway:0.3.0

From fa4d9912ac411fddcd0dfebbdff6427365fd6971 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jens=20Winter-H=C3=BCbenthal?=
 <jens.winter-huebenthal@bridgefield.de>
Date: Fri, 2 Aug 2024 19:34:51 +0200
Subject: [PATCH 088/259] add Jens as user

---
 group_vars/all/vars.yml | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/group_vars/all/vars.yml b/group_vars/all/vars.yml
index 37760ea..a19bd0a 100644
--- a/group_vars/all/vars.yml
+++ b/group_vars/all/vars.yml
@@ -65,6 +65,14 @@ users:
         ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMJoS7nsLLzSAsZA4us2/7JaQhgRjj/BY+LOpDQnfy8u timo@mac
     sudo: yes
     docker: yes
+  - logname: "JensWH"
+    viewname: "Jens Winter-Hübenthal"
+    email: "jens.winter@gmail.com"
+    ssh_pub:
+      - !unsafe >
+        ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIII4FS2sROKs2nIW8uzDuWmj8q127UoljtkVMthY8g// jens@work-lenovo
+    sudo: yes
+    docker: yes
 
 # Data for DD24 dyndns updates
 dyndns_domain: "dyndns.n39.eu"

From d0b53af9d3af182fb10916d1b7c09bac4ab4f764 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jens=20Winter-H=C3=BCbenthal?=
 <jens.winter-huebenthal@bridgefield.de>
Date: Sat, 3 Aug 2024 15:58:06 +0200
Subject: [PATCH 089/259] name uses all lower case characters

---
 group_vars/all/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/group_vars/all/vars.yml b/group_vars/all/vars.yml
index a19bd0a..028e9fd 100644
--- a/group_vars/all/vars.yml
+++ b/group_vars/all/vars.yml
@@ -65,7 +65,7 @@ users:
         ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMJoS7nsLLzSAsZA4us2/7JaQhgRjj/BY+LOpDQnfy8u timo@mac
     sudo: yes
     docker: yes
-  - logname: "JensWH"
+  - logname: "jens"
     viewname: "Jens Winter-Hübenthal"
     email: "jens.winter@gmail.com"
     ssh_pub:

From 6fbd06f1e985ef15d6a2f9fa0a281c543a4ed453 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 30 Jul 2024 15:19:01 +0000
Subject: [PATCH 090/259] chore(deps): update grafana/grafana docker tag to
 v10.4.6

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 3d6ed60..59cb274 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -52,7 +52,7 @@ uptimekuma_image: louislam/uptime-kuma:1.23.13
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu
-grafana_image: grafana/grafana:10.4.5
+grafana_image: grafana/grafana:10.4.6
 grafana_admin_password: "{{ vault_grafana_admin_password }}"
 
 homebox_host_port: 8092

From f9ab91301fec3f68718531a647c9fd71863892ae Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 3 Aug 2024 17:18:44 +0000
Subject: [PATCH 091/259] chore(deps): update renovate/renovate docker tag to
 v38.18.12

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 59cb274..c0e9c41 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:38.17.1
+renovate_image: renovate/renovate:38.18.12
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From 4e418220c238c4c7c31560d4c2e1b0b37878f658 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 7 Aug 2024 14:18:27 +0000
Subject: [PATCH 092/259] chore(deps): update netz39/entities_validation_svc
 docker tag to v1.0.2

---
 host-krypton.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-krypton.yml b/host-krypton.yml
index e75d85b..33b75d0 100644
--- a/host-krypton.yml
+++ b/host-krypton.yml
@@ -116,7 +116,7 @@
     - name: Ensure container for entities validation service is running
       docker_container:
         name: entities_validation_svc
-        image: netz39/entities_validation_svc:v1.0.1
+        image: netz39/entities_validation_svc:v1.0.2
         pull: true
         state: started
         detach: yes

From ec2b0db3f57c26824e8ee99bf67f16a73574b689 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 11 Aug 2024 17:21:05 +0000
Subject: [PATCH 093/259] chore(deps): update shlinkio/shlink docker tag to
 v4.2.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index c0e9c41..4f11f98 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -16,7 +16,7 @@ forgejo_image: codeberg.org/forgejo/forgejo:1.21.11-0
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu
-shlink_image: shlinkio/shlink:4.1.1
+shlink_image: shlinkio/shlink:4.2.0
 shlink_initial_api_key: "{{ vault_shlink_initial_api_key }}"
 shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 

From 5a2e8ba60765346ea5e100715623941a91dd35dc Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 14 Aug 2024 13:18:38 +0000
Subject: [PATCH 094/259] chore(deps): update grafana/grafana docker tag to
 v10.4.7

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index c0e9c41..eddf4ac 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -52,7 +52,7 @@ uptimekuma_image: louislam/uptime-kuma:1.23.13
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu
-grafana_image: grafana/grafana:10.4.6
+grafana_image: grafana/grafana:10.4.7
 grafana_admin_password: "{{ vault_grafana_admin_password }}"
 
 homebox_host_port: 8092

From f2f0ffbe114806d4a76c2f33aa9baf28cc07773e Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Mon, 26 Aug 2024 07:19:17 +0000
Subject: [PATCH 095/259] chore(deps): update bitnami/rabbitmq docker tag to
 v3.13.7

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index 6c09371..6538dfe 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -13,7 +13,7 @@
     nodered_image: nodered/node-red:3.0.1-1-18
     nodered_data: "{{ data_dir }}/nodered"
 
-    rabbitmq_image: bitnami/rabbitmq:3.13.6
+    rabbitmq_image: bitnami/rabbitmq:3.13.7
     rabbitmq_data: "{{ data_dir }}/rabbitmq"
 
     pwr_meter_pulse_gw_image: netz39/power-meter-pulse-gateway:0.3.0

From ad3b98ee0d20e30b7a76337cb27d2ad426eb3941 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Mon, 26 Aug 2024 15:18:33 +0000
Subject: [PATCH 096/259] chore(deps): update jacobalberty/unifi docker tag to
 v8.4.59

---
 host-unicorn.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-unicorn.yml b/host-unicorn.yml
index b3f7a5b..9accc43 100644
--- a/host-unicorn.yml
+++ b/host-unicorn.yml
@@ -13,7 +13,7 @@
     - name: Setup the docker container for unifi-controller
       docker_container:
         name: unifi-controller
-        image: jacobalberty/unifi:v8.1.113
+        image: jacobalberty/unifi:v8.4.59
         state: started
         restart_policy: unless-stopped
         container_default_behavior: no_defaults

From 8e029b7fab7d2cf1df082916ade75ee347b83182 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 27 Aug 2024 20:18:38 +0000
Subject: [PATCH 097/259] chore(deps): update renovate/renovate docker tag to
 v38.55.5

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index eddf4ac..30af00e 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:38.18.12
+renovate_image: renovate/renovate:38.55.5
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From 281b07a33b5f55b1c94f6bd11a150947634bdc4f Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 8 Aug 2024 20:18:24 +0000
Subject: [PATCH 098/259] chore(deps): update postgres docker tag to v16.4

---
 host-pottwal.yml                  | 2 +-
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/host-pottwal.yml b/host-pottwal.yml
index d426e06..a7da2b3 100644
--- a/host-pottwal.yml
+++ b/host-pottwal.yml
@@ -117,7 +117,7 @@
     - name: Ensure shlink database container is running
       docker_container:
         name: shlinkdb
-        image: postgres:16.3-alpine
+        image: postgres:16.4-alpine
         pull: true
         state: started
         restart_policy: unless-stopped
diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 7a4d359..21a4fc8 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -23,7 +23,7 @@ shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 hedgedoc_host_port: 8084
 hedgedoc_domain_name: pad.n39.eu
 hedgedoc_image: quay.io/hedgedoc/hedgedoc:1.9.9
-hedgedoc_db_image: postgres:16.3-alpine
+hedgedoc_db_image: postgres:16.4-alpine
 hedgedoc_postgres_password: "{{ vault_hedgedoc_postgres_password }}"
 
 redmine_host_port: 8087

From ab2f9cd5765fc340cf8b08e612bdffbf0c800022 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 6 Sep 2024 20:23:13 +0000
Subject: [PATCH 099/259] chore(deps): update renovate/renovate docker tag to
 v38.71.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 21a4fc8..3a51144 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:38.55.5
+renovate_image: renovate/renovate:38.71.0
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From 5e5c7f33378709a670d2a540dec22c79cd881dba Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Mon, 9 Sep 2024 10:19:23 +0000
Subject: [PATCH 100/259] chore(deps): update quay.io/hedgedoc/hedgedoc docker
 tag to v1.10.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 3a51144..86a21b8 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -22,7 +22,7 @@ shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 
 hedgedoc_host_port: 8084
 hedgedoc_domain_name: pad.n39.eu
-hedgedoc_image: quay.io/hedgedoc/hedgedoc:1.9.9
+hedgedoc_image: quay.io/hedgedoc/hedgedoc:1.10.0
 hedgedoc_db_image: postgres:16.4-alpine
 hedgedoc_postgres_password: "{{ vault_hedgedoc_postgres_password }}"
 

From 83a9b81cbcb0fc73c85fa3f150cd88e4f30a3989 Mon Sep 17 00:00:00 2001
From: David Kilias <david.kilias@gmail.com>
Date: Sat, 7 Sep 2024 22:14:20 +0200
Subject: [PATCH 101/259] feat: add docker images prune cron job to
 docker_setup role

---
 roles/docker_setup/tasks/main.yml | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/roles/docker_setup/tasks/main.yml b/roles/docker_setup/tasks/main.yml
index 8f946fb..cdfedfb 100644
--- a/roles/docker_setup/tasks/main.yml
+++ b/roles/docker_setup/tasks/main.yml
@@ -82,3 +82,10 @@
     append: yes
   when: item.docker
   with_items: "{{ users }}"
+
+- name: Ensure that docker image prune cron job is present.
+  ansible.builtin.cron:
+    name: docker image prune
+    special_time: weekly
+    user: root
+    job: "docker image prune --all --force"

From c6fb82a3d308becf7ae4d4be75e6af3d17e75a6b Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 10 Sep 2024 09:26:07 +0000
Subject: [PATCH 102/259] chore(deps): update grafana/grafana docker tag to
 v10.4.8

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 86a21b8..187b643 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -52,7 +52,7 @@ uptimekuma_image: louislam/uptime-kuma:1.23.13
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu
-grafana_image: grafana/grafana:10.4.7
+grafana_image: grafana/grafana:10.4.8
 grafana_admin_password: "{{ vault_grafana_admin_password }}"
 
 homebox_host_port: 8092

From 66e3649d97cd9d90f287b6205d5d7d708aefcc62 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Mon, 16 Sep 2024 19:19:20 +0000
Subject: [PATCH 103/259] chore(deps): update renovate/renovate docker tag to
 v38.84.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 187b643..06c1149 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:38.71.0
+renovate_image: renovate/renovate:38.84.0
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From 69655030ed546e95463e34a51337ec0723e0d549 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 17 Sep 2024 22:27:32 +0000
Subject: [PATCH 104/259] chore(deps): update joseluisq/static-web-server
 docker tag to v2.33

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 06c1149..ab911e8 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -42,7 +42,7 @@ influxdb_init_password: "{{ vault_influxdb_init_password }}"
 jabber_host_port: 8086
 prosody_domain_name: jabber.n39.eu
 prosody_image: netz39/prosody:0.11
-prosody_web_image: joseluisq/static-web-server:2.32
+prosody_web_image: joseluisq/static-web-server:2.33
 prosody_config_dir: "/etc/prosody"
 prosody_data_dir: "{{ data_dir }}/prosody"
 

From 9de9948015d7de1129b68663eee3538650a338a7 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 20 Sep 2024 20:28:55 +0000
Subject: [PATCH 105/259] chore(deps): update jacobalberty/unifi docker tag to
 v8.4.62

---
 host-unicorn.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-unicorn.yml b/host-unicorn.yml
index 9accc43..36a4be6 100644
--- a/host-unicorn.yml
+++ b/host-unicorn.yml
@@ -13,7 +13,7 @@
     - name: Setup the docker container for unifi-controller
       docker_container:
         name: unifi-controller
-        image: jacobalberty/unifi:v8.4.59
+        image: jacobalberty/unifi:v8.4.62
         state: started
         restart_policy: unless-stopped
         container_default_behavior: no_defaults

From ba19eb59bd6488d17cbf386c49820a12b9affca0 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 21 Sep 2024 08:30:04 +0000
Subject: [PATCH 106/259] chore(deps): update renovate/renovate docker tag to
 v38.92.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index ab911e8..8e3c0ae 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:38.84.0
+renovate_image: renovate/renovate:38.92.0
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From ff212c05a47ab439f685caf64d567f8558f7365f Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 26 Sep 2024 13:30:41 +0000
Subject: [PATCH 107/259] chore(deps): update grafana/grafana docker tag to
 v10.4.9

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 8e3c0ae..5d06907 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -52,7 +52,7 @@ uptimekuma_image: louislam/uptime-kuma:1.23.13
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu
-grafana_image: grafana/grafana:10.4.8
+grafana_image: grafana/grafana:10.4.9
 grafana_admin_password: "{{ vault_grafana_admin_password }}"
 
 homebox_host_port: 8092

From 4b7968f11bed3d52f95e5f210ed6b227d0f63443 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 3 Oct 2024 01:22:22 +0000
Subject: [PATCH 108/259] chore(deps): update eclipse-mosquitto docker tag to
 v2.0.19

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index 6538dfe..cc115e3 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -7,7 +7,7 @@
 
     data_dir: "/srv/data"
 
-    mosquitto_image: eclipse-mosquitto:2.0.18
+    mosquitto_image: eclipse-mosquitto:2.0.19
     mosquitto_data: "{{ data_dir }}/mosquitto"
 
     nodered_image: nodered/node-red:3.0.1-1-18

From 7b753d26b3593ef1fbedad12360af33cee680d16 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 17 Oct 2024 08:22:26 +0000
Subject: [PATCH 109/259] chore(deps): update shlinkio/shlink docker tag to
 v4.2.3

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 5d06907..99a144f 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -16,7 +16,7 @@ forgejo_image: codeberg.org/forgejo/forgejo:1.21.11-0
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu
-shlink_image: shlinkio/shlink:4.2.0
+shlink_image: shlinkio/shlink:4.2.3
 shlink_initial_api_key: "{{ vault_shlink_initial_api_key }}"
 shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 

From df4dbbfdb397ed9fb8245c27628487f62043e997 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 18 Oct 2024 13:22:24 +0000
Subject: [PATCH 110/259] chore(deps): update eclipse-mosquitto docker tag to
 v2.0.20

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index cc115e3..f531342 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -7,7 +7,7 @@
 
     data_dir: "/srv/data"
 
-    mosquitto_image: eclipse-mosquitto:2.0.19
+    mosquitto_image: eclipse-mosquitto:2.0.20
     mosquitto_data: "{{ data_dir }}/mosquitto"
 
     nodered_image: nodered/node-red:3.0.1-1-18

From cdc3ef13053de2329752e6527da7a109516f7eee Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 1 Oct 2024 16:29:54 +0000
Subject: [PATCH 111/259] chore(deps): update grafana/grafana docker tag to
 v10.4.10

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 99a144f..1721456 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -52,7 +52,7 @@ uptimekuma_image: louislam/uptime-kuma:1.23.13
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu
-grafana_image: grafana/grafana:10.4.9
+grafana_image: grafana/grafana:10.4.10
 grafana_admin_password: "{{ vault_grafana_admin_password }}"
 
 homebox_host_port: 8092

From 286997eb23efea46f59f26c5a696bbb31ee27b7e Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 29 Sep 2024 22:27:13 +0000
Subject: [PATCH 112/259] chore(deps): update louislam/uptime-kuma docker tag
 to v1.23.15

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 1721456..7dba456 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -48,7 +48,7 @@ prosody_data_dir: "{{ data_dir }}/prosody"
 
 uptimekuma_host_port: 8085
 uptimekuma_domain_name: uptime.n39.eu
-uptimekuma_image: louislam/uptime-kuma:1.23.13
+uptimekuma_image: louislam/uptime-kuma:1.23.15
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu

From 6e9d2dd1c671d25cbfba2a57f38976bed3011491 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 22 Oct 2024 22:22:41 +0000
Subject: [PATCH 113/259] chore(deps): update renovate/renovate docker tag to
 v38.130.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 7dba456..4b44904 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:38.92.0
+renovate_image: renovate/renovate:38.130.0
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From cc5b4be06fa31011af08c0644997eb387e35cb92 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 22 Oct 2024 17:27:53 +0000
Subject: [PATCH 114/259] chore(deps): update grafana/grafana docker tag to v11

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 4b44904..a612d01 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -52,7 +52,7 @@ uptimekuma_image: louislam/uptime-kuma:1.23.15
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu
-grafana_image: grafana/grafana:10.4.10
+grafana_image: grafana/grafana:11.3.0
 grafana_admin_password: "{{ vault_grafana_admin_password }}"
 
 homebox_host_port: 8092

From 7e91c5963135c8033ba6f838086b8fe27e8ccbe6 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 20 Oct 2024 17:19:09 +0000
Subject: [PATCH 115/259] chore(deps): update netz39/entities_validation_svc
 docker tag to v1.0.3

---
 host-krypton.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-krypton.yml b/host-krypton.yml
index 33b75d0..6d9b144 100644
--- a/host-krypton.yml
+++ b/host-krypton.yml
@@ -116,7 +116,7 @@
     - name: Ensure container for entities validation service is running
       docker_container:
         name: entities_validation_svc
-        image: netz39/entities_validation_svc:v1.0.2
+        image: netz39/entities_validation_svc:v1.0.3
         pull: true
         state: started
         detach: yes

From 19b3d3d5f7d9fccf1ec4d36a8e5e1bd4c39eaa8d Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 25 Sep 2024 14:29:02 +0000
Subject: [PATCH 116/259] chore(deps): update bitnami/rabbitmq docker tag to v4

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index f531342..6c1223b 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -13,7 +13,7 @@
     nodered_image: nodered/node-red:3.0.1-1-18
     nodered_data: "{{ data_dir }}/nodered"
 
-    rabbitmq_image: bitnami/rabbitmq:3.13.7
+    rabbitmq_image: bitnami/rabbitmq:4.0.2
     rabbitmq_data: "{{ data_dir }}/rabbitmq"
 
     pwr_meter_pulse_gw_image: netz39/power-meter-pulse-gateway:0.3.0

From a7f098c5d69b640e219fc4f7c654a4eb1e833c4b Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 11 Oct 2024 21:22:29 +0000
Subject: [PATCH 117/259] chore(deps): update jacobalberty/unifi docker tag to
 v8.5.6

---
 host-unicorn.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-unicorn.yml b/host-unicorn.yml
index 36a4be6..6a8195c 100644
--- a/host-unicorn.yml
+++ b/host-unicorn.yml
@@ -13,7 +13,7 @@
     - name: Setup the docker container for unifi-controller
       docker_container:
         name: unifi-controller
-        image: jacobalberty/unifi:v8.4.62
+        image: jacobalberty/unifi:v8.5.6
         state: started
         restart_policy: unless-stopped
         container_default_behavior: no_defaults

From 18f86dc49074cc655c8cfe5a7ceb40de7c931906 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 8 Aug 2024 06:20:45 +0000
Subject: [PATCH 118/259] chore(deps): update dependency community.grafana to
 v2

---
 requirements.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/requirements.yml b/requirements.yml
index 085c322..5a23b6f 100644
--- a/requirements.yml
+++ b/requirements.yml
@@ -15,4 +15,4 @@ roles:
 
 collections:
   - name: community.grafana
-    version: 1.9.1
+    version: 2.1.0

From a1f651235fb7ac2b3dd244c9649176e874bc51c4 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Thu, 24 Oct 2024 10:31:13 +0200
Subject: [PATCH 119/259] Upgrade forgejo to v7

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index a612d01..650a8df 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -12,7 +12,7 @@ cleanuri_amqp_vhost: "/cleanuri"
 forgejo_host_port: 9091
 forgejo_ssh_port: 2222
 forgejo_domain_name: git.n39.eu
-forgejo_image: codeberg.org/forgejo/forgejo:1.21.11-0
+forgejo_image: codeberg.org/forgejo/forgejo:7
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu

From 1bdf8068d75643a8de261cc24b7addd6f4ba90c9 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Thu, 24 Oct 2024 10:33:02 +0200
Subject: [PATCH 120/259] Upgrade forgejo to v8

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 650a8df..7ce6407 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -12,7 +12,7 @@ cleanuri_amqp_vhost: "/cleanuri"
 forgejo_host_port: 9091
 forgejo_ssh_port: 2222
 forgejo_domain_name: git.n39.eu
-forgejo_image: codeberg.org/forgejo/forgejo:7
+forgejo_image: codeberg.org/forgejo/forgejo:8
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu

From fd2445361d71fdf6c23637cf41eb576772032f71 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Thu, 24 Oct 2024 10:37:44 +0200
Subject: [PATCH 121/259] Upgrade forgejo to v9

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 7ce6407..bd61cd2 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -12,7 +12,7 @@ cleanuri_amqp_vhost: "/cleanuri"
 forgejo_host_port: 9091
 forgejo_ssh_port: 2222
 forgejo_domain_name: git.n39.eu
-forgejo_image: codeberg.org/forgejo/forgejo:8
+forgejo_image: codeberg.org/forgejo/forgejo:9
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu

From 131920f29e40762f240e399b1d9146db0b6666e1 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Thu, 24 Oct 2024 10:40:18 +0200
Subject: [PATCH 122/259] After upgrading, pin to 9.0.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index bd61cd2..c663808 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -12,7 +12,7 @@ cleanuri_amqp_vhost: "/cleanuri"
 forgejo_host_port: 9091
 forgejo_ssh_port: 2222
 forgejo_domain_name: git.n39.eu
-forgejo_image: codeberg.org/forgejo/forgejo:9
+forgejo_image: codeberg.org/forgejo/forgejo:9.0.0
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu

From 75a5b1b7bc43a96e1d7a9ed3ed4e8f995aae6832 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 27 Oct 2024 14:22:42 +0000
Subject: [PATCH 123/259] chore(deps): update renovate/renovate docker tag to
 v38.132.3

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index c663808..f1f1098 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:38.130.0
+renovate_image: renovate/renovate:38.132.3
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From 2d9a3f4123a982bfa0e9982d41709b48bc09d3a4 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 27 Oct 2024 08:22:29 +0000
Subject: [PATCH 124/259] chore(deps): update shlinkio/shlink docker tag to
 v4.2.4

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index f1f1098..1d83ad8 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -16,7 +16,7 @@ forgejo_image: codeberg.org/forgejo/forgejo:9.0.0
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu
-shlink_image: shlinkio/shlink:4.2.3
+shlink_image: shlinkio/shlink:4.2.4
 shlink_initial_api_key: "{{ vault_shlink_initial_api_key }}"
 shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 

From f7ee5f709d4055cadfbe3f7a920986d100bc1ba6 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 30 Oct 2024 15:18:11 +0000
Subject: [PATCH 125/259] chore(deps): update codeberg.org/forgejo/forgejo
 docker tag to v9.0.1

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 1d83ad8..a76d843 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -12,7 +12,7 @@ cleanuri_amqp_vhost: "/cleanuri"
 forgejo_host_port: 9091
 forgejo_ssh_port: 2222
 forgejo_domain_name: git.n39.eu
-forgejo_image: codeberg.org/forgejo/forgejo:9.0.0
+forgejo_image: codeberg.org/forgejo/forgejo:9.0.1
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu

From e572996755caf5147ea9cb17e326463a21c5ac9d Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 31 Oct 2024 13:22:40 +0000
Subject: [PATCH 126/259] chore(deps): update bitnami/rabbitmq docker tag to
 v4.0.3

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index 6c1223b..163af6a 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -13,7 +13,7 @@
     nodered_image: nodered/node-red:3.0.1-1-18
     nodered_data: "{{ data_dir }}/nodered"
 
-    rabbitmq_image: bitnami/rabbitmq:4.0.2
+    rabbitmq_image: bitnami/rabbitmq:4.0.3
     rabbitmq_data: "{{ data_dir }}/rabbitmq"
 
     pwr_meter_pulse_gw_image: netz39/power-meter-pulse-gateway:0.3.0

From 590442e058a621c467294825e9c782869caeed19 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 1 Nov 2024 09:22:31 +0000
Subject: [PATCH 127/259] chore(deps): update renovate/renovate docker tag to
 v38.142.1

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index a76d843..83ffded 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:38.132.3
+renovate_image: renovate/renovate:38.142.1
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From 38fbff30b5c5ef512ad06ed3f08e2daa3776b579 Mon Sep 17 00:00:00 2001
From: David Kilias <david.kilias@gmail.com>
Date: Sat, 2 Nov 2024 21:17:25 +0100
Subject: [PATCH 128/259] feat: add role to manage dyndns entry on desec.io

---
 group_vars/all/vars.yml                        |  3 ++-
 group_vars/all/vault                           | 15 +++++++++------
 host-pottwal.yml                               |  2 ++
 roles/desec_dyndns_cron/defaults/main.yml      |  4 ++++
 roles/desec_dyndns_cron/handlers/main.yml      | 10 ++++++++++
 roles/desec_dyndns_cron/tasks/main.yml         | 18 ++++++++++++++++++
 .../templates/desec-dyndns.cron.j2             |  6 ++++++
 7 files changed, 51 insertions(+), 7 deletions(-)
 create mode 100644 roles/desec_dyndns_cron/defaults/main.yml
 create mode 100644 roles/desec_dyndns_cron/handlers/main.yml
 create mode 100644 roles/desec_dyndns_cron/tasks/main.yml
 create mode 100644 roles/desec_dyndns_cron/templates/desec-dyndns.cron.j2

diff --git a/group_vars/all/vars.yml b/group_vars/all/vars.yml
index 028e9fd..d91fdcb 100644
--- a/group_vars/all/vars.yml
+++ b/group_vars/all/vars.yml
@@ -74,9 +74,10 @@ users:
     sudo: yes
     docker: yes
 
-# Data for DD24 dyndns updates
+# Data for dyndns updates
 dyndns_domain: "dyndns.n39.eu"
 dyndns_password: "{{ vault_dyndns_password }}"
+dyndns_token: "{{ vault_dyndns_token }}"
 
 # Shared influxdb items
 influxdb_org: "netz39"
diff --git a/group_vars/all/vault b/group_vars/all/vault
index 1e42948..255971a 100644
--- a/group_vars/all/vault
+++ b/group_vars/all/vault
@@ -1,7 +1,10 @@
 $ANSIBLE_VAULT;1.1;AES256
-34303066383937623831333466333965323161376134353838346235323662373164303163363734
-3134626237346361656533636161363331666537633538380a613761643431356530343663626666
-62646361316364333533316638646261373661633863363733366337373338336565366536386237
-3138646266613837310a396139363830613463393861336161363533343362383462623265356563
-31333862613937306463353130316365636634353862363039663762326263313366363530636631
-3630653638333831303432316266633833643739643533353536
+37306233306262383862373661626635346436316265663162343433303432653536376632316439
+6336396564613232363337303266643965346333396331620a316536636666393461353633366466
+39333362306166376462353739626139623835326461373834303330346538366637626363306438
+3033376133373330330a356236396366643938323666663836643738386337373362323933623838
+30316663646134623232336563343562393037363463303739626464633461323539306261316638
+61343330626263393065636230303632663965653939373437386561656539646533653661613236
+35326334313232633738633933653939383830636361373938373864643133363539623734646435
+32336630613231353337336466646164373734386539653936313865316336616264373061633139
+3839
diff --git a/host-pottwal.yml b/host-pottwal.yml
index a7da2b3..8d7ea6d 100644
--- a/host-pottwal.yml
+++ b/host-pottwal.yml
@@ -28,6 +28,8 @@
     - role: ansible-role-dehydrated_cron
     - role: dd24_dyndns_cron
       # variables are set in the inventory
+    - role: desec_dyndns_cron
+      # variables are set in the inventory
     - role: cleanuri
       vars:
         cleanuri_ui_domain: uritools.n39.eu
diff --git a/roles/desec_dyndns_cron/defaults/main.yml b/roles/desec_dyndns_cron/defaults/main.yml
new file mode 100644
index 0000000..59fc031
--- /dev/null
+++ b/roles/desec_dyndns_cron/defaults/main.yml
@@ -0,0 +1,4 @@
+# desec.io Cron configuration
+---
+dyndns_domain: www.example.com
+dyndns_token: yourtoken
diff --git a/roles/desec_dyndns_cron/handlers/main.yml b/roles/desec_dyndns_cron/handlers/main.yml
new file mode 100644
index 0000000..76bb1a9
--- /dev/null
+++ b/roles/desec_dyndns_cron/handlers/main.yml
@@ -0,0 +1,10 @@
+# handlers file for desec_dyndns_cron
+---
+- name: reload cron
+  ansible.builtin.shell:
+    cmd: service cron reload
+    warn: no
+# Use the shell call because the task sometimes has problems finding the service state
+#  service:
+#    name: cron
+#    state: restarted
diff --git a/roles/desec_dyndns_cron/tasks/main.yml b/roles/desec_dyndns_cron/tasks/main.yml
new file mode 100644
index 0000000..d389fb7
--- /dev/null
+++ b/roles/desec_dyndns_cron/tasks/main.yml
@@ -0,0 +1,18 @@
+---
+- name: Make sure cron and curl are installed
+  apt:
+    name:
+      - cron
+      - curl
+    state: present
+
+- name: Setup cron file for desec.io updates
+  ansible.builtin.template:
+    src: "templates/desec-dyndns.cron.j2"
+    dest: "/etc/cron.d/desec-dyndns"
+    owner: root
+    group: root
+    mode: "0644"
+  notify: reload cron
+  # There is ansible.builtin.cron, but this makes configuration much
+  # more complicated, so we stick to the template.
diff --git a/roles/desec_dyndns_cron/templates/desec-dyndns.cron.j2 b/roles/desec_dyndns_cron/templates/desec-dyndns.cron.j2
new file mode 100644
index 0000000..32bf8b6
--- /dev/null
+++ b/roles/desec_dyndns_cron/templates/desec-dyndns.cron.j2
@@ -0,0 +1,6 @@
+# /etc/cron.d/desec-dyndns: Cron call to renew DynDNS entry
+
+SHELL=/bin/sh
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+
+*/5 * * * * root curl --silent --show-error --user {{ dyndns_domain }}:{{ dyndns_token }} "https://update.dedyn.io/" > /dev/null 2> >(/usr/bin/logger -p user.error -t desec)

From 518455b7de32cdec7bd6e76578ca437033ba4f58 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Fri, 1 Nov 2024 19:58:06 +0100
Subject: [PATCH 129/259] Add switch on/off scripts for wittgenstein

---
 files/wittgenstein/switch-off.sh |  7 +++++++
 files/wittgenstein/switch-on.sh  | 11 +++++++++++
 2 files changed, 18 insertions(+)
 create mode 100755 files/wittgenstein/switch-off.sh
 create mode 100755 files/wittgenstein/switch-on.sh

diff --git a/files/wittgenstein/switch-off.sh b/files/wittgenstein/switch-off.sh
new file mode 100755
index 0000000..40a081e
--- /dev/null
+++ b/files/wittgenstein/switch-off.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+gpio write 2 0
+gpio write 3 0
+
+gpio mode 2 tri
+gpio mode 3 tri
diff --git a/files/wittgenstein/switch-on.sh b/files/wittgenstein/switch-on.sh
new file mode 100755
index 0000000..aae9e2e
--- /dev/null
+++ b/files/wittgenstein/switch-on.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+# INT
+gpio mode 0 tri
+
+# Power
+gpio mode 2 out
+gpio mode 3 out
+
+gpio write 2 1
+gpio write 3 1

From c1a56fa80b416469501b6d454c32b940e5a5ffc6 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Wed, 2 Nov 2022 20:57:39 +0100
Subject: [PATCH 130/259] Add reboot/unstuck script for wittgenstein

---
 files/wittgenstein/reboot.sh  | 22 ++++++++++++++++++++++
 files/wittgenstein/unstuck.sh |  7 +++++++
 2 files changed, 29 insertions(+)
 create mode 100755 files/wittgenstein/reboot.sh
 create mode 100755 files/wittgenstein/unstuck.sh

diff --git a/files/wittgenstein/reboot.sh b/files/wittgenstein/reboot.sh
new file mode 100755
index 0000000..e463089
--- /dev/null
+++ b/files/wittgenstein/reboot.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games'
+
+echo 'switch-on.sh'
+/home/pi/switch-on.sh
+
+echo 'start i2c-foo'
+sudo modprobe i2c_dev
+sudo modprobe i2c_bcm2708
+
+# wait for network devices
+sleep 30
+
+cd /home/pi
+echo 'start ampel controller'
+tmux new-session -s ampel 'cd /home/pi/netz39_space_notification/raspberry/ledcontrol && ./ledcontrol'
+
+echo 'start lever controller'
+tmux new-window -t ampel:1 'cd /home/pi/netz39_space_notification/raspberry/statusswitch && ./statusswitch'
+
+#echo 'start spaceapi controller'
+#tmux new-window -t ampel:2 'cd /home/pi/netz39_space_notification/SpaceAPI && ./update-json.py --server=platon'
diff --git a/files/wittgenstein/unstuck.sh b/files/wittgenstein/unstuck.sh
new file mode 100755
index 0000000..29da941
--- /dev/null
+++ b/files/wittgenstein/unstuck.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+logger -t unstuck "unstuck $(date)"
+
+killall tmux
+
+sleep 1
+/home/pi/reboot.sh

From f4db6fa39564090b8c3dda967d3ad9ef94cb6c55 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Wed, 2 Nov 2022 20:59:17 +0100
Subject: [PATCH 131/259] Add Ansible setup for wittgenstein

---
 host-wittgenstein.yml                  | 136 +++++++++++++++++++++++++
 host_vars/wittgenstein.n39.eu/vars.yml |   4 +
 2 files changed, 140 insertions(+)
 create mode 100644 host-wittgenstein.yml
 create mode 100644 host_vars/wittgenstein.n39.eu/vars.yml

diff --git a/host-wittgenstein.yml b/host-wittgenstein.yml
new file mode 100644
index 0000000..50d992f
--- /dev/null
+++ b/host-wittgenstein.yml
@@ -0,0 +1,136 @@
+---
+- hosts: wittgenstein.n39.eu
+  become: true
+
+  roles:
+    - role: docker_setup
+      vars:
+        docker_data_root: "/srv/docker"
+    - role: apache
+    - role: apache_letsencrypt  # Uses configuration from dehydrated setup
+    - role: ansible-role-dehydrated
+      vars:
+        dehydrated_contact_email: "{{ server_admin }}"
+    - role: penguineer.dehydrated_cron
+
+  tasks:
+    - name: Install packages needed for the system
+      # This is a list of all packages,
+      # unless they are installed by a specific role
+      ansible.builtin.apt:
+        state: present
+        name:
+          # This is needed for the user-executed tasks
+          - acl
+          # Regular packages
+          - tmux
+          - git-core
+          - cmake
+          - build-essential
+          - libmosquitto-dev
+          - libconfig-dev
+          - mosquitto-clients
+          - i2c-tools
+
+
+#    - name: Set MAC address for proper DHCP recognition
+#      # Uses mac variable from inventory
+#      ansible.builtin.template:
+#        src: templates/network-interfaces-dhcp-mac.j2
+#        dest: /etc/network/interfaces.d/wittgenstein-mac
+#        owner: root
+#        group: root
+#        mode: '0644'
+
+    - name: Disable IPv6
+      # Because it is not working....
+      ansible.builtin.copy:
+        src: files/sysctl-no-ipv6.conf
+        dest: /etc/sysctl.d/99-systcl-no-ipv6.conf
+        owner: root
+        group: root
+        mode: '0644'
+
+
+    ### Gatekeeper user (pi for now)
+    #
+    # All the gatekeeping / door control stuff is here!
+
+    - name: Ensure gatekeeper user is there
+      ansible.builtin.user:
+        name: "{{ gatekeeper_user }}"
+        groups: dialout,audio,plugdev,input,netdev,i2c,gpio
+        append: yes
+
+    - name: Copy management scripts
+      ansible.builtin.copy:
+        src: "files/wittgenstein/{{ item }}"
+        dest: "/home/{{ gatekeeper_user }}/{{ item }}"
+        owner: "{{ gatekeeper_user }}"
+        group: "{{ gatekeeper_user }}"
+        mode: "0750"
+      loop:
+        - reboot.sh
+        - unstuck.sh
+        - switch-on.sh
+        - switch-off.sh
+
+    - name: Install start-up cron
+      ansible.builtin.cron:
+        name: Start the gatekeeper services
+        job: "/home/{{ gatekeeper_user }}/reboot.sh"
+        user: "{{ gatekeeper_user }}"
+        special_time: reboot
+
+
+    - name: Download wiringPi library
+      # WiringPi needs to be installed, but that library seems to be
+      # obsolete. We download something and hope it works...
+      ansible.builtin.get_url:
+        url: https://project-downloads.drogon.net/wiringpi-latest.deb
+        dest: "/home/{{ gatekeeper_user }}/wiringpi-latest.deb"
+        mode: "0644"
+        force: no
+      register: wiringPi_download
+
+    - name: Install wiringPi library  # noqa 503
+      ansible.builtin.apt:
+        state: present
+        deb: "/home/{{ gatekeeper_user }}/wiringpi-latest.deb"
+      when: wiringPi_download.changed
+
+
+    ### Ampelsteuerung
+    - name: Clone netz39_space_notification initial checkout
+      # Do this as the gatekeeper user!
+      become: yes
+      become_user: "{{ gatekeeper_user }}"
+      ansible.builtin.git:
+        repo: https://github.com/netz39/space_notification.git
+        dest: "/home/{{ gatekeeper_user }}/netz39_space_notification"
+        clone: yes
+        update: no
+
+    - name: Compile ledcontrol agent
+      # Do this as the gatekeeper user!
+      become: yes
+      become_user: "{{ gatekeeper_user }}"
+      ansible.builtin.shell:
+        chdir: "/home/{{ gatekeeper_user }}/netz39_space_notification/raspberry/ledcontrol"
+        cmd: make
+        creates: "/home/{{ gatekeeper_user }}/netz39_space_notification/raspberry/ledcontrol/ledcontrol"
+
+    - name: Compile statusswitch agent
+      # Do this as the gatekeeper user!
+      become: yes
+      become_user: "{{ gatekeeper_user }}"
+      ansible.builtin.shell:
+        chdir: "/home/{{ gatekeeper_user }}/netz39_space_notification/raspberry/statusswitch"
+        cmd: make
+        creates: "/home/{{ gatekeeper_user }}/netz39_space_notification/raspberry/statusswitch/statusswitch"
+
+    ### Space API
+    - name: Setup the SpaceAPI Docker container
+
+
+  handlers:
diff --git a/host_vars/wittgenstein.n39.eu/vars.yml b/host_vars/wittgenstein.n39.eu/vars.yml
new file mode 100644
index 0000000..2474184
--- /dev/null
+++ b/host_vars/wittgenstein.n39.eu/vars.yml
@@ -0,0 +1,4 @@
+server_admin: "admin+wittgenstein@netz39.de"
+ansible_python_interpreter: /usr/bin/python3
+gatekeeper_user: pi
+data_dir: "/srv/data"

From c73cff2cee32f815d4c81b891d5b01611ec8ba28 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Wed, 2 Nov 2022 20:59:31 +0100
Subject: [PATCH 132/259] Add wittgenstein to inventory

---
 inventory.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/inventory.yml b/inventory.yml
index b1513b4..4263588 100644
--- a/inventory.yml
+++ b/inventory.yml
@@ -12,6 +12,7 @@ all:
     pottwal.n39.eu:
     radon.n39.eu:
     unicorn.n39.eu:
+    wittgenstein.n39.eu:
     k3s-c1.n39.eu:
     k3s-c2.n39.eu:
     k3s-c3.n39.eu:

From 7693e0be94e424830d124bd4c47bbd850b4bb91d Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Wed, 2 Nov 2022 20:59:57 +0100
Subject: [PATCH 133/259] Add wittgenstein to main playbook

---
 main.yml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/main.yml b/main.yml
index 5af6b86..177bccc 100644
--- a/main.yml
+++ b/main.yml
@@ -42,3 +42,6 @@
 
 - name: Plumbum specific setup
   import_playbook: host-plumbum.yml
+
+- name: Wittgenstein specific setup
+  import_playbook: host-wittgenstein.yml

From 136c2c89852f4a2a9a072c60df863459b7fc1e9c Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Sat, 2 Nov 2024 15:29:45 +0100
Subject: [PATCH 134/259] Add paho-mqtt library to install dependencies

---
 host-wittgenstein.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/host-wittgenstein.yml b/host-wittgenstein.yml
index 50d992f..57850b5 100644
--- a/host-wittgenstein.yml
+++ b/host-wittgenstein.yml
@@ -30,6 +30,7 @@
           - libmosquitto-dev
           - libconfig-dev
           - mosquitto-clients
+          - python3-paho-mqtt
           - i2c-tools
 
 

From 04c6a6d5861fff211b187bb755e0102ff7e07956 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Sat, 2 Nov 2024 15:40:18 +0100
Subject: [PATCH 135/259] Set up the SpaceAPI service docker container

---
 host-wittgenstein.yml                  | 17 +++++++++++++++++
 host_vars/wittgenstein.n39.eu/vars.yml |  7 +++++++
 2 files changed, 24 insertions(+)

diff --git a/host-wittgenstein.yml b/host-wittgenstein.yml
index 57850b5..9c6112e 100644
--- a/host-wittgenstein.yml
+++ b/host-wittgenstein.yml
@@ -132,6 +132,23 @@
 
     ### Space API
     - name: Setup the SpaceAPI Docker container
+      docker_container:
+        name: spaceapi
+        image: "{{ spaceapi_image }}"
+        pull: true
+        state: started
+        detach: yes
+        restart_policy: unless-stopped
+        ports:
+          - "0.0.0.0:{{ spaceapi_host_port }}:8080" # Must be reached by pottwal
+#          - "127.0.0.1:{{ spaceapi_host_port }}:8080"
+        env:
+          TZ: "{{ timezone }}"
+          MQTT_BROKER: "platon.n39.eu"
+          MQTT_TOPIC_STATUS: "{{ spaceapi_topic_status }}"
+          MQTT_TOPIC_LASTCHANGE:  "{{ spaceapi_topic_lastchange }}"
+      tags:
+        - spaceapi
 
 
   handlers:
diff --git a/host_vars/wittgenstein.n39.eu/vars.yml b/host_vars/wittgenstein.n39.eu/vars.yml
index 2474184..0fd637c 100644
--- a/host_vars/wittgenstein.n39.eu/vars.yml
+++ b/host_vars/wittgenstein.n39.eu/vars.yml
@@ -2,3 +2,10 @@ server_admin: "admin+wittgenstein@netz39.de"
 ansible_python_interpreter: /usr/bin/python3
 gatekeeper_user: pi
 data_dir: "/srv/data"
+
+spaceapi_host_port: 8001
+spaceapi_domain_name: spaceapi.n39.eu
+spaceapi_image: netz39/spaceapi-service:0.1.0
+spaceapi_topic_status: "Netz39/SpaceAPI/isOpen"
+spaceapi_topic_lastchange: "Netz39/SpaceAPI/lastchange"
+

From 5f4e63c1debf91e458350be2a8342758230a9589 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Sat, 2 Nov 2024 15:45:50 +0100
Subject: [PATCH 136/259] Set the wittgenstein MAC address

---
 host-wittgenstein.yml                  | 16 ++++++++--------
 host_vars/wittgenstein.n39.eu/vars.yml |  1 +
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/host-wittgenstein.yml b/host-wittgenstein.yml
index 9c6112e..a51540f 100644
--- a/host-wittgenstein.yml
+++ b/host-wittgenstein.yml
@@ -34,14 +34,14 @@
           - i2c-tools
 
 
-#    - name: Set MAC address for proper DHCP recognition
-#      # Uses mac variable from inventory
-#      ansible.builtin.template:
-#        src: templates/network-interfaces-dhcp-mac.j2
-#        dest: /etc/network/interfaces.d/wittgenstein-mac
-#        owner: root
-#        group: root
-#        mode: '0644'
+    - name: Set MAC address for proper DHCP recognition
+      # Uses mac variable from inventory
+      ansible.builtin.template:
+        src: templates/network-interfaces-dhcp-mac.j2
+        dest: /etc/network/interfaces.d/wittgenstein-mac
+        owner: root
+        group: root
+        mode: '0644'
 
     - name: Disable IPv6
       # Because it is not working....
diff --git a/host_vars/wittgenstein.n39.eu/vars.yml b/host_vars/wittgenstein.n39.eu/vars.yml
index 0fd637c..e1be7b9 100644
--- a/host_vars/wittgenstein.n39.eu/vars.yml
+++ b/host_vars/wittgenstein.n39.eu/vars.yml
@@ -1,4 +1,5 @@
 server_admin: "admin+wittgenstein@netz39.de"
+mac: "b8:27:eb:48:f1:59"
 ansible_python_interpreter: /usr/bin/python3
 gatekeeper_user: pi
 data_dir: "/srv/data"

From 2108f905845a3bed1e0e37cc64f94988a75f6290 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Sat, 2 Nov 2024 16:33:47 +0100
Subject: [PATCH 137/259] Change forwarding for SpaceAPI according to the new
 service

---
 host-pottwal.yml                          | 2 ++
 templates/pottwal/spaceapi-apache-site.j2 | 6 +++---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/host-pottwal.yml b/host-pottwal.yml
index 8d7ea6d..f2cff3e 100644
--- a/host-pottwal.yml
+++ b/host-pottwal.yml
@@ -634,6 +634,8 @@
         site_name: "spaceapi.n39.eu"
         proxy_preserve_host: "On"
       notify: Restart apache2
+      tags:
+        - spaceapi
 
     - name: Ensure renovate bot cronjob is present
       ansible.builtin.template:
diff --git a/templates/pottwal/spaceapi-apache-site.j2 b/templates/pottwal/spaceapi-apache-site.j2
index 5d6961d..9959e90 100644
--- a/templates/pottwal/spaceapi-apache-site.j2
+++ b/templates/pottwal/spaceapi-apache-site.j2
@@ -44,9 +44,9 @@
     RequestHeader set "X-Forwarded-SSL" expr=%{HTTPS}
     ProxyPreserveHost {{ proxy_preserve_host | default("Off") }}
 
-    ProxyPass /json http://172.23.48.7/spaceapi
-    ProxyPass /text http://172.23.48.7/state.txt
-    ProxyPass /state.png  http://172.23.48.7/state.png
+    ProxyPass /json http://172.23.48.7:8001/json
+    ProxyPass /text http://172.23.48.7:8001/text
+    ProxyPass /state.png  http://172.23.48.7:8001/state.png
 </VirtualHost>
 </IfFile>
 </IfFile>

From 7fdfe89ed84dfc9e599418aa883265a70a2fd98b Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Sat, 2 Nov 2024 21:03:31 +0100
Subject: [PATCH 138/259] Setup docker container Ampel Controller

---
 host-wittgenstein.yml                  | 18 ++++++++++++++++++
 host_vars/wittgenstein.n39.eu/vars.yml |  4 ++++
 2 files changed, 22 insertions(+)

diff --git a/host-wittgenstein.yml b/host-wittgenstein.yml
index a51540f..f4b2190 100644
--- a/host-wittgenstein.yml
+++ b/host-wittgenstein.yml
@@ -150,5 +150,23 @@
       tags:
         - spaceapi
 
+    - name: Setup the Ampel Controller Docker container
+      docker_container:
+        name: ampelcontroller
+        image: "{{ ampelcontroller_image }}"
+        pull: true
+        state: started
+        detach: yes
+        restart_policy: unless-stopped
+        env:
+          TZ: "{{ timezone }}"
+          MQTT_BROKER: "platon.n39.eu"
+          MQTT_LEVER_STATE_TOPIC: "{{ topic_lever_state }}"
+          MQTT_DOOR_EVENTS_TOPIC: "{{ topic_door_events }}"
+          MQTT_SPACESTATUS_ISOPEN_TOPIC: "{{ spaceapi_topic_status }}"
+          MQTT_SPACESTATUS_LASTCHANGE_TOPIC: "{{ spaceapi_topic_lastchange }}"
+          MQTT_TRAFFIC_LIGHT_TOPIC: "{{ topic_traffic_light }}"
+      tags:
+        - spaceapi
 
   handlers:
diff --git a/host_vars/wittgenstein.n39.eu/vars.yml b/host_vars/wittgenstein.n39.eu/vars.yml
index e1be7b9..914da6d 100644
--- a/host_vars/wittgenstein.n39.eu/vars.yml
+++ b/host_vars/wittgenstein.n39.eu/vars.yml
@@ -10,3 +10,7 @@ spaceapi_image: netz39/spaceapi-service:0.1.0
 spaceapi_topic_status: "Netz39/SpaceAPI/isOpen"
 spaceapi_topic_lastchange: "Netz39/SpaceAPI/lastchange"
 
+ampelcontroller_image: netz39/ampel-controller:0.1.0
+topic_lever_state: "Netz39/Things/StatusSwitch/Lever/State"
+topic_door_events: "Netz39/Things/Door/Events"
+topic_traffic_light: "Netz39/Things/Ampel/Light"

From f54f371c724f900cd36f6d65da1c8cafca6eeadf Mon Sep 17 00:00:00 2001
From: David Kilias <david.kilias@gmail.com>
Date: Sat, 2 Nov 2024 23:59:56 +0100
Subject: [PATCH 139/259] chore: remove inactive admin kwasir

---
 group_vars/all/vars.yml | 5 -----
 host-beaker.yml         | 1 -
 2 files changed, 6 deletions(-)

diff --git a/group_vars/all/vars.yml b/group_vars/all/vars.yml
index d91fdcb..fa863ca 100644
--- a/group_vars/all/vars.yml
+++ b/group_vars/all/vars.yml
@@ -24,11 +24,6 @@ users:
         ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGmU7MfOFuc6z5Vbwh4CbBFSg19f8B9rUO2ITjgmEvkY alex@lemmy
     sudo: yes
     docker: yes
-  - logname: "kwasir"
-    viewname: "Peter Seidel"
-    email: "kwasir@netz39.de"
-    sudo: yes
-    docker: yes
   - logname: "tux"
     viewname: "Stefan Haun"
     email: "tux@netz39.de"
diff --git a/host-beaker.yml b/host-beaker.yml
index ccd5285..1cf198c 100644
--- a/host-beaker.yml
+++ b/host-beaker.yml
@@ -22,7 +22,6 @@
       ansible.builtin.lineinfile:
         path: /etc/pve/user.cfg
         regexp: "^group:Admins:"
-        # group:Admins:kwasir@pam,lespocky@pam,tux@pam::
         line: "group:Admins:{{ users | map(attribute = 'logname') | join(\"@pam,\") }}@pam::"
 
   handlers:

From 0f4c916f7819a35b777455118a0d5df9ce1500ae Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Sun, 3 Nov 2024 00:09:46 +0100
Subject: [PATCH 140/259] Start tmux detached because there is no Term in CRON

---
 files/wittgenstein/reboot.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/files/wittgenstein/reboot.sh b/files/wittgenstein/reboot.sh
index e463089..f6b5621 100755
--- a/files/wittgenstein/reboot.sh
+++ b/files/wittgenstein/reboot.sh
@@ -13,7 +13,7 @@ sleep 30
 
 cd /home/pi
 echo 'start ampel controller'
-tmux new-session -s ampel 'cd /home/pi/netz39_space_notification/raspberry/ledcontrol && ./ledcontrol'
+tmux new-session -s ampel -d 'cd /home/pi/netz39_space_notification/raspberry/ledcontrol && ./ledcontrol'
 
 echo 'start lever controller'
 tmux new-window -t ampel:1 'cd /home/pi/netz39_space_notification/raspberry/statusswitch && ./statusswitch'

From 032c1f067e8305277e0f59078e8fc70c40a9e2e1 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Sun, 3 Nov 2024 00:10:52 +0100
Subject: [PATCH 141/259] Remove obsolete call for spaceAPI handling

---
 files/wittgenstein/reboot.sh | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/files/wittgenstein/reboot.sh b/files/wittgenstein/reboot.sh
index f6b5621..de29b05 100755
--- a/files/wittgenstein/reboot.sh
+++ b/files/wittgenstein/reboot.sh
@@ -17,6 +17,3 @@ tmux new-session -s ampel -d 'cd /home/pi/netz39_space_notification/raspberry/le
 
 echo 'start lever controller'
 tmux new-window -t ampel:1 'cd /home/pi/netz39_space_notification/raspberry/statusswitch && ./statusswitch'
-
-#echo 'start spaceapi controller'
-#tmux new-window -t ampel:2 'cd /home/pi/netz39_space_notification/SpaceAPI && ./update-json.py --server=platon'

From 522b8fb7f74c4c4e90b0aee99a183e7ecdad07c7 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 3 Nov 2024 11:24:35 +0000
Subject: [PATCH 142/259] chore(deps): update shlinkio/shlink docker tag to
 v4.2.5

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 83ffded..e2c2e5d 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -16,7 +16,7 @@ forgejo_image: codeberg.org/forgejo/forgejo:9.0.1
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu
-shlink_image: shlinkio/shlink:4.2.4
+shlink_image: shlinkio/shlink:4.2.5
 shlink_initial_api_key: "{{ vault_shlink_initial_api_key }}"
 shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 

From 23cf970dcc82f02d95492de94d7b3580a9adccf9 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 3 Nov 2024 15:22:39 +0000
Subject: [PATCH 143/259] chore(deps): update netz39/spaceapi-service docker
 tag to v0.1.1

---
 host_vars/wittgenstein.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/wittgenstein.n39.eu/vars.yml b/host_vars/wittgenstein.n39.eu/vars.yml
index 914da6d..6479b44 100644
--- a/host_vars/wittgenstein.n39.eu/vars.yml
+++ b/host_vars/wittgenstein.n39.eu/vars.yml
@@ -6,7 +6,7 @@ data_dir: "/srv/data"
 
 spaceapi_host_port: 8001
 spaceapi_domain_name: spaceapi.n39.eu
-spaceapi_image: netz39/spaceapi-service:0.1.0
+spaceapi_image: netz39/spaceapi-service:0.1.1
 spaceapi_topic_status: "Netz39/SpaceAPI/isOpen"
 spaceapi_topic_lastchange: "Netz39/SpaceAPI/lastchange"
 

From 4fbfd031a35a4ef2a02fd4169697ba16fb2fc36e Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Sun, 3 Nov 2024 13:25:14 +0100
Subject: [PATCH 144/259] Add sudo configuration for Asterisk I2C access

---
 files/platon/11_asterisk_i2c | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 files/platon/11_asterisk_i2c

diff --git a/files/platon/11_asterisk_i2c b/files/platon/11_asterisk_i2c
new file mode 100644
index 0000000..589db21
--- /dev/null
+++ b/files/platon/11_asterisk_i2c
@@ -0,0 +1 @@
+asterisk ALL=(root) NOPASSWD: /usr/sbin/i2cget, /usr/sbin/i2cset

From 64eee7b7dedd515fba77c97347b323053b51887b Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Sun, 3 Nov 2024 13:29:02 +0100
Subject: [PATCH 145/259] Install sudo config for Asterisk I2C

---
 host-platon.yml | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/host-platon.yml b/host-platon.yml
index 3b9983a..b0623ad 100644
--- a/host-platon.yml
+++ b/host-platon.yml
@@ -277,6 +277,17 @@
         append: yes
       notify: restart asterisk
 
+    # Asterisk now executes shell scripts with reduced privileges, so we need to
+    # use sudo for I2C access.
+    - name: Set up sudo configuration for Asterisk I2C access
+      ansible.builtin.copy:
+        src: "files/platon/11_asterisk_i2c"
+        dest: "/etc/sudoers.d/"
+        owner: root
+        group: root
+        mode: "0644"
+      # Asterisk restart is not necessary
+
     - name: Copy sounds
       ansible.builtin.copy:
         src: "files/platon/{{ item }}"

From ec6b03a64494ebf6051d36e81bb43b9126f2c26e Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 5 Nov 2024 00:22:33 +0000
Subject: [PATCH 146/259] chore(deps): update redmine docker tag to v5.1.4

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index e2c2e5d..f1c6149 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -28,7 +28,7 @@ hedgedoc_postgres_password: "{{ vault_hedgedoc_postgres_password }}"
 
 redmine_host_port: 8087
 redmine_domain_name: redmine.n39.eu
-redmine_image: redmine:5.1.3
+redmine_image: redmine:5.1.4
 redmine_mysql_image: mysql:8.4
 redmine_database: redmine
 redmine_database_password: "{{ vault_redmine_database_password }}"

From 6b5597f7fe9d6e967b6003ec7f781df64da11a27 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 10 Nov 2024 13:24:55 +0000
Subject: [PATCH 147/259] chore(deps): update jacobalberty/unifi docker tag to
 v8.6.9

---
 host-unicorn.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-unicorn.yml b/host-unicorn.yml
index 6a8195c..259a49b 100644
--- a/host-unicorn.yml
+++ b/host-unicorn.yml
@@ -13,7 +13,7 @@
     - name: Setup the docker container for unifi-controller
       docker_container:
         name: unifi-controller
-        image: jacobalberty/unifi:v8.5.6
+        image: jacobalberty/unifi:v8.6.9
         state: started
         restart_policy: unless-stopped
         container_default_behavior: no_defaults

From 1dd4e2434015eb9dbf8b61adcc223843e67fec45 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 13 Nov 2024 19:25:13 +0000
Subject: [PATCH 148/259] chore(deps): update renovate/renovate docker tag to
 v39

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index f1c6149..b18b073 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:38.142.1
+renovate_image: renovate/renovate:39.13.0
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From 0cdbb5f7bb4a774042e8ba029fe6c66e4f4a18ec Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 15 Nov 2024 20:18:49 +0000
Subject: [PATCH 149/259] chore(deps): update codeberg.org/forgejo/forgejo
 docker tag to v9.0.2

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index b18b073..dbdce18 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -12,7 +12,7 @@ cleanuri_amqp_vhost: "/cleanuri"
 forgejo_host_port: 9091
 forgejo_ssh_port: 2222
 forgejo_domain_name: git.n39.eu
-forgejo_image: codeberg.org/forgejo/forgejo:9.0.1
+forgejo_image: codeberg.org/forgejo/forgejo:9.0.2
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu

From bfe56fdde827bd6ded11d3f9ad0809de5fef7a04 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 16 Nov 2024 03:21:26 +0000
Subject: [PATCH 150/259] chore(deps): update redmine docker tag to v6

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index dbdce18..9d5be9c 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -28,7 +28,7 @@ hedgedoc_postgres_password: "{{ vault_hedgedoc_postgres_password }}"
 
 redmine_host_port: 8087
 redmine_domain_name: redmine.n39.eu
-redmine_image: redmine:5.1.4
+redmine_image: redmine:6.0.1
 redmine_mysql_image: mysql:8.4
 redmine_database: redmine
 redmine_database_password: "{{ vault_redmine_database_password }}"

From feb596dc5b9bd5621329b3920ac20b4c37bbe09e Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 5 Dec 2024 19:18:55 +0000
Subject: [PATCH 151/259] chore(deps): update grafana/grafana docker tag to
 v11.4.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index dbdce18..bd28bc6 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -52,7 +52,7 @@ uptimekuma_image: louislam/uptime-kuma:1.23.15
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu
-grafana_image: grafana/grafana:11.3.0
+grafana_image: grafana/grafana:11.4.0
 grafana_admin_password: "{{ vault_grafana_admin_password }}"
 
 homebox_host_port: 8092

From 8221be4e5355e221cf8307b192bdac2ff2da344b Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 4 Dec 2024 00:18:52 +0000
Subject: [PATCH 152/259] chore(deps): update joseluisq/static-web-server
 docker tag to v2.34

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index bd28bc6..946261e 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -42,7 +42,7 @@ influxdb_init_password: "{{ vault_influxdb_init_password }}"
 jabber_host_port: 8086
 prosody_domain_name: jabber.n39.eu
 prosody_image: netz39/prosody:0.11
-prosody_web_image: joseluisq/static-web-server:2.33
+prosody_web_image: joseluisq/static-web-server:2.34
 prosody_config_dir: "/etc/prosody"
 prosody_data_dir: "{{ data_dir }}/prosody"
 

From 339c7b0f776e4020ed45076a8faa81a20a5cf163 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Mon, 25 Nov 2024 23:22:45 +0000
Subject: [PATCH 153/259] chore(deps): update shlinkio/shlink docker tag to
 v4.3.1

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 946261e..1bb0cc3 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -16,7 +16,7 @@ forgejo_image: codeberg.org/forgejo/forgejo:9.0.2
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu
-shlink_image: shlinkio/shlink:4.2.5
+shlink_image: shlinkio/shlink:4.3.1
 shlink_initial_api_key: "{{ vault_shlink_initial_api_key }}"
 shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 

From 3abd35d79fea50f582516aa520b8f24ebd5fdc7e Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 22 Nov 2024 01:18:28 +0000
Subject: [PATCH 154/259] chore(deps): update bitnami/rabbitmq docker tag to
 v4.0.4

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index 163af6a..4e62719 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -13,7 +13,7 @@
     nodered_image: nodered/node-red:3.0.1-1-18
     nodered_data: "{{ data_dir }}/nodered"
 
-    rabbitmq_image: bitnami/rabbitmq:4.0.3
+    rabbitmq_image: bitnami/rabbitmq:4.0.4
     rabbitmq_data: "{{ data_dir }}/rabbitmq"
 
     pwr_meter_pulse_gw_image: netz39/power-meter-pulse-gateway:0.3.0

From c55793086155e323760171a6e1fba9370c96494d Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 14 Dec 2024 09:18:55 +0000
Subject: [PATCH 155/259] chore(deps): update renovate/renovate docker tag to
 v39.68.1

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 1bb0cc3..5dd36ff 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:39.13.0
+renovate_image: renovate/renovate:39.68.1
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From a2012faaf39adf8c765b49a73022e1f55aca4bb9 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 12 Dec 2024 19:18:48 +0000
Subject: [PATCH 156/259] chore(deps): update codeberg.org/forgejo/forgejo
 docker tag to v9.0.3

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index e820ab4..0a929f7 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -12,7 +12,7 @@ cleanuri_amqp_vhost: "/cleanuri"
 forgejo_host_port: 9091
 forgejo_ssh_port: 2222
 forgejo_domain_name: git.n39.eu
-forgejo_image: codeberg.org/forgejo/forgejo:9.0.2
+forgejo_image: codeberg.org/forgejo/forgejo:9.0.3
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu

From b044f0a993cdba2a10cbd5dd226b1bb91ecd080f Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 17 Dec 2024 21:18:50 +0000
Subject: [PATCH 157/259] chore(deps): update redmine docker tag to v6.0.2

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 0a929f7..3d0d9bc 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -28,7 +28,7 @@ hedgedoc_postgres_password: "{{ vault_hedgedoc_postgres_password }}"
 
 redmine_host_port: 8087
 redmine_domain_name: redmine.n39.eu
-redmine_image: redmine:6.0.1
+redmine_image: redmine:6.0.2
 redmine_mysql_image: mysql:8.4
 redmine_database: redmine
 redmine_database_password: "{{ vault_redmine_database_password }}"

From dbd1b98130d1f1c4251ad9a69878196549cbcb2b Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Mon, 16 Dec 2024 05:18:43 +0000
Subject: [PATCH 158/259] chore(deps): update bitnami/rabbitmq docker tag to
 v4.0.5

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index 4e62719..352232e 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -13,7 +13,7 @@
     nodered_image: nodered/node-red:3.0.1-1-18
     nodered_data: "{{ data_dir }}/nodered"
 
-    rabbitmq_image: bitnami/rabbitmq:4.0.4
+    rabbitmq_image: bitnami/rabbitmq:4.0.5
     rabbitmq_data: "{{ data_dir }}/rabbitmq"
 
     pwr_meter_pulse_gw_image: netz39/power-meter-pulse-gateway:0.3.0

From 68fcfb098b5ab3a03864b5ae59d07c944392dddf Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 20 Dec 2024 17:18:45 +0000
Subject: [PATCH 159/259] chore(deps): update louislam/uptime-kuma docker tag
 to v1.23.16

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 3d0d9bc..77dbce5 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -48,7 +48,7 @@ prosody_data_dir: "{{ data_dir }}/prosody"
 
 uptimekuma_host_port: 8085
 uptimekuma_domain_name: uptime.n39.eu
-uptimekuma_image: louislam/uptime-kuma:1.23.15
+uptimekuma_image: louislam/uptime-kuma:1.23.16
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu

From b1d76e4fc96e7433552a130fbb1d737a1e0949a7 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 27 Dec 2024 16:22:18 +0000
Subject: [PATCH 160/259] chore(deps): update shlinkio/shlink docker tag to
 v4.4.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 77dbce5..084d510 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -16,7 +16,7 @@ forgejo_image: codeberg.org/forgejo/forgejo:9.0.3
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu
-shlink_image: shlinkio/shlink:4.3.1
+shlink_image: shlinkio/shlink:4.4.0
 shlink_initial_api_key: "{{ vault_shlink_initial_api_key }}"
 shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 

From 39ae509e20265da8c6de0c0f00fde46025cd9f23 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 28 Dec 2024 09:18:52 +0000
Subject: [PATCH 161/259] chore(deps): update renovate/renovate docker tag to
 v39.84.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 77dbce5..e5b9d95 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:39.68.1
+renovate_image: renovate/renovate:39.84.0
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From 70592047668408dbce69088443444a7839e8b406 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sat, 28 Dec 2024 11:55:00 +0100
Subject: [PATCH 162/259] :truck: roles: timezone: Override with galaxy name

The repository name differs from the galaxy name.  Although not strictly
necessary, makes origin of role more clear in code and would allow
easier switching between galaxy, and git.  Using the namespaced name
makes it clear it's an external role.  Same name as in role
documentation now.  No change in actual role or version of role.

Link: https://docs.ansible.com/ansible/latest/galaxy/user_guide.html#installing-multiple-roles-from-a-file
---
 group-all.yml    | 2 +-
 requirements.yml | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/group-all.yml b/group-all.yml
index cb380e2..2d95128 100644
--- a/group-all.yml
+++ b/group-all.yml
@@ -8,7 +8,7 @@
     ansible_python_interpreter: /usr/bin/python3
 
   roles:
-    - role: ansible.timezone
+    - role: adriagalin.timezone
       vars:
         ag_timezone: "{{ timezone }}"
     - role: users
diff --git a/requirements.yml b/requirements.yml
index 5a23b6f..7c66b00 100644
--- a/requirements.yml
+++ b/requirements.yml
@@ -2,7 +2,8 @@
 roles:
   - src: hifis.unattended_upgrades
     version: v3.2.1
-  - src: git+https://github.com/adriagalin/ansible.timezone.git
+  - name: adriagalin.timezone
+    src: git+https://github.com/adriagalin/ansible.timezone.git
     version: 4.0.0
   - src: git+https://github.com/24367dfa/ansible-role-dehydrated.git
     version: 2.0.0

From 832094843a439ab0fee5c1260af57da5a3cf391b Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sat, 28 Dec 2024 12:07:20 +0100
Subject: [PATCH 163/259] :truck: roles: dehydrated: Use namespaced role name

In "ansible-role-dehydrated" the words "ansible" and "role" are
redundant, because implicit anyway.  What actually helps here is using a
namespaced name in the format galaxy would use, to make clear it's an
external role, and where it comes from.

Link: https://docs.ansible.com/ansible/latest/galaxy/user_guide.html#installing-multiple-roles-from-a-file
---
 host-krypton.yml      | 2 +-
 host-pottwal.yml      | 2 +-
 host-radon.yml        | 2 +-
 host-tau.yml          | 2 +-
 host-wittgenstein.yml | 2 +-
 requirements.yml      | 3 ++-
 6 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/host-krypton.yml b/host-krypton.yml
index 6d9b144..749af49 100644
--- a/host-krypton.yml
+++ b/host-krypton.yml
@@ -22,7 +22,7 @@
     # role 'docker_setup' applied through group 'docker_host'
     - role: apache
     - role: apache_letsencrypt  # Uses configuration from dehydrated setup
-    - role: ansible-role-dehydrated
+    - role: 24367dfa.dehydrated
       vars:
         dehydrated_contact_email: "{{ server_admin }}"
         dehydrated_domains:
diff --git a/host-pottwal.yml b/host-pottwal.yml
index f2cff3e..ca3cf05 100644
--- a/host-pottwal.yml
+++ b/host-pottwal.yml
@@ -6,7 +6,7 @@
     # role 'docker_setup' applied through group 'docker_host'
     - role: apache
     - role: apache_letsencrypt  # Uses configuration from dehydrated setup
-    - role: ansible-role-dehydrated
+    - role: 24367dfa.dehydrated
       vars:
         dehydrated_contact_email: "{{ server_admin }}"
         dehydrated_domains:
diff --git a/host-radon.yml b/host-radon.yml
index 352232e..710eabf 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -24,7 +24,7 @@
     # role 'docker_setup' applied through group 'docker_host'
     - role: apache
     - role: apache_letsencrypt  # Uses configuration from dehydrated setup
-    - role: ansible-role-dehydrated
+    - role: 24367dfa.dehydrated
       vars:
         dehydrated_contact_email: "{{ server_admin }}"
         dehydrated_domains:
diff --git a/host-tau.yml b/host-tau.yml
index a1d4b46..f818bc7 100644
--- a/host-tau.yml
+++ b/host-tau.yml
@@ -35,7 +35,7 @@
 
     - name: Setup Dehydrated
       include_role:
-        name: ansible-role-dehydrated
+        name: 24367dfa.dehydrated
       vars:
         dehydrated_contact_email: "{{ server_admin }}"
         dehydrated_domains:
diff --git a/host-wittgenstein.yml b/host-wittgenstein.yml
index f4b2190..c770b5f 100644
--- a/host-wittgenstein.yml
+++ b/host-wittgenstein.yml
@@ -8,7 +8,7 @@
         docker_data_root: "/srv/docker"
     - role: apache
     - role: apache_letsencrypt  # Uses configuration from dehydrated setup
-    - role: ansible-role-dehydrated
+    - role: 24367dfa.dehydrated
       vars:
         dehydrated_contact_email: "{{ server_admin }}"
     - role: penguineer.dehydrated_cron
diff --git a/requirements.yml b/requirements.yml
index 7c66b00..eb8fb4e 100644
--- a/requirements.yml
+++ b/requirements.yml
@@ -5,7 +5,8 @@ roles:
   - name: adriagalin.timezone
     src: git+https://github.com/adriagalin/ansible.timezone.git
     version: 4.0.0
-  - src: git+https://github.com/24367dfa/ansible-role-dehydrated.git
+  - name: 24367dfa.dehydrated
+    src: git+https://github.com/24367dfa/ansible-role-dehydrated.git
     version: 2.0.0
   - src: https://github.com/penguineer/ansible-role-dehydrated_cron.git
     version: v1.1.0

From 605eca4c38cd9f0dd118bb504b9b4685ef506a77 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sat, 28 Dec 2024 12:16:21 +0100
Subject: [PATCH 164/259] :truck: roles: dehydrated_cron: Use namespaced name

Removes the redundant words "ansible" and "role" from the role name
originating from the Git repo name, and uses the author's name as
namespace instead.  This makes it easier to recognize as external role.

Note: the host-wittgenstein recipe already used that new name, but we
did not set it up in requirements, yet.  (How did that ever work?)

Link: https://docs.ansible.com/ansible/latest/galaxy/user_guide.html#installing-multiple-roles-from-a-file
Fixes: f4db6fa39564 ("Add Ansible setup for wittgenstein")
---
 host-krypton.yml | 2 +-
 host-pottwal.yml | 2 +-
 host-radon.yml   | 2 +-
 host-tau.yml     | 2 +-
 requirements.yml | 3 ++-
 5 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/host-krypton.yml b/host-krypton.yml
index 749af49..7a45ca0 100644
--- a/host-krypton.yml
+++ b/host-krypton.yml
@@ -27,7 +27,7 @@
         dehydrated_contact_email: "{{ server_admin }}"
         dehydrated_domains:
           - name: entities-validation.svc.n39.eu
-    - role: ansible-role-dehydrated_cron
+    - role: penguineer.dehydrated_cron
 
   tasks:
 
diff --git a/host-pottwal.yml b/host-pottwal.yml
index ca3cf05..9df71c4 100644
--- a/host-pottwal.yml
+++ b/host-pottwal.yml
@@ -25,7 +25,7 @@
           - name: "{{ grafana_domain_name }}"
           - name: "{{ homebox_domain_name }}"
           - name: spaceapi.n39.eu
-    - role: ansible-role-dehydrated_cron
+    - role: penguineer.dehydrated_cron
     - role: dd24_dyndns_cron
       # variables are set in the inventory
     - role: desec_dyndns_cron
diff --git a/host-radon.yml b/host-radon.yml
index 710eabf..58e55fa 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -32,7 +32,7 @@
           - name: rabbitmq.n39.eu
           - name: pwr-meter-pulse-gw-19i.svc.n39.eu
           - name: labelprinter.n39.eu
-    - role: ansible-role-dehydrated_cron
+    - role: penguineer.dehydrated_cron
 
 
   tasks:
diff --git a/host-tau.yml b/host-tau.yml
index f818bc7..665f926 100644
--- a/host-tau.yml
+++ b/host-tau.yml
@@ -21,7 +21,7 @@
   roles:
     # role 'docker_setup' applied through group 'docker_host'
     - role: apache
-    - role: ansible-role-dehydrated_cron
+    - role: penguineer.dehydrated_cron
 
   tasks:
     - name: Setup docker network
diff --git a/requirements.yml b/requirements.yml
index eb8fb4e..ee1cf07 100644
--- a/requirements.yml
+++ b/requirements.yml
@@ -8,7 +8,8 @@ roles:
   - name: 24367dfa.dehydrated
     src: git+https://github.com/24367dfa/ansible-role-dehydrated.git
     version: 2.0.0
-  - src: https://github.com/penguineer/ansible-role-dehydrated_cron.git
+  - name: penguineer.dehydrated_cron
+    src: https://github.com/penguineer/ansible-role-dehydrated_cron.git
     version: v1.1.0
   - src: git+https://github.com/maz3max/ble-keykeeper-role.git
     version: v1.1.0

From cf10544a0203a7039655d3a86720755ffcda7640 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sat, 28 Dec 2024 12:24:16 +0100
Subject: [PATCH 165/259] :truck: roles: ble_keykeeper: Use namespaced name

Removed redundant word "role" from role name, which originates from git
repo name.  Makes it clear we use an external role here.

Link: https://docs.ansible.com/ansible/latest/galaxy/user_guide.html#installing-multiple-roles-from-a-file
---
 host-platon.yml  | 2 +-
 requirements.yml | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/host-platon.yml b/host-platon.yml
index b0623ad..41d033c 100644
--- a/host-platon.yml
+++ b/host-platon.yml
@@ -6,7 +6,7 @@
     door_open_command: '/home/pi/sesame-open.sh'
     ble_keykeeper_dir: '/home/pi/netz39_ble_keykeeper'
   roles:
-    - role: ble-keykeeper-role
+    - role: maz3max.ble_keykeeper
       vars:
         ble_keykeeper_user: "{{ gatekeeper_user }}"
         ble_keykeeper_group: "{{ gatekeeper_user }}"
diff --git a/requirements.yml b/requirements.yml
index ee1cf07..975ae64 100644
--- a/requirements.yml
+++ b/requirements.yml
@@ -11,7 +11,8 @@ roles:
   - name: penguineer.dehydrated_cron
     src: https://github.com/penguineer/ansible-role-dehydrated_cron.git
     version: v1.1.0
-  - src: git+https://github.com/maz3max/ble-keykeeper-role.git
+  - name: maz3max.ble_keykeeper
+    src: git+https://github.com/maz3max/ble-keykeeper-role.git
     version: v1.1.0
   - src: lespocky.telegraf_docker_in_docker
     version: v0.2.1

From 8dd1a5a860b8453771ac2c854d0dc661ccc140c7 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 10 Jan 2025 18:18:45 +0000
Subject: [PATCH 166/259] chore(deps): update joseluisq/static-web-server
 docker tag to v2.35

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 9d1a7c2..798ba3a 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -42,7 +42,7 @@ influxdb_init_password: "{{ vault_influxdb_init_password }}"
 jabber_host_port: 8086
 prosody_domain_name: jabber.n39.eu
 prosody_image: netz39/prosody:0.11
-prosody_web_image: joseluisq/static-web-server:2.34
+prosody_web_image: joseluisq/static-web-server:2.35
 prosody_config_dir: "/etc/prosody"
 prosody_data_dir: "{{ data_dir }}/prosody"
 

From 15ed271490f52fd856159823ddff2e3471d69cae Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Sun, 12 Jan 2025 12:55:41 +0100
Subject: [PATCH 167/259] Add note on host Rhodium to inventory

---
 inventory.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/inventory.yml b/inventory.yml
index 4263588..76a969d 100644
--- a/inventory.yml
+++ b/inventory.yml
@@ -19,6 +19,8 @@ all:
     k3s-w1.n39.eu:
     k3s-w2.n39.eu:
     k3s-w3.n39.eu:
+#   Host rhodium.n39.eu is the OpenWRT router, but cannot be added here
+#   as it would be treated like a Debian host
 
   children:
     docker_host:

From 8a692376d37883327939fd8ffd5dc8def3af6d77 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Sun, 12 Jan 2025 12:55:56 +0100
Subject: [PATCH 168/259] Add SSH entry for host Rhodium

Please note that it is still necessary to
manually add the SSH keys to the OpenWRT config.
---
 templates/ssh_config.j2 | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/templates/ssh_config.j2 b/templates/ssh_config.j2
index 8dcadf2..411b381 100644
--- a/templates/ssh_config.j2
+++ b/templates/ssh_config.j2
@@ -25,3 +25,11 @@ Host {{ host }}
   Port 22
 
 {% endfor %}
+
+{# This is our router #}
+Host rhodium.n39.eu
+  Hostname rhodium.n39.eu
+  IdentityFile {{ setup_ssh_key }}
+  User root
+  ProxyJump ssh.n39.eu
+  Port 22

From 50d1b6098d8e959f57f0419d4dd01f8e2f1cbd6c Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Sun, 12 Jan 2025 12:57:49 +0100
Subject: [PATCH 169/259] Make a note about adding SSH keys to host Rhodium

---
 README.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/README.md b/README.md
index 1ecdf32..92bff30 100644
--- a/README.md
+++ b/README.md
@@ -20,6 +20,9 @@ SSH_KEY=<absolute/path/to/ssh/private/key>
 ansible-playbook setup-ssh.yml --ask-vault-pass -e "setup_ssh_logname=$LOGUSER" -e "setup_ssh_key=$SSH_KEY"
 ```
 
+This playbook also adds `rhodium.n39.eu` (OpenWRT router), but our Ansible cannot set up SSH keys (yet).
+Please [add your key to OpenWRT manually](https://openwrt.org/docs/guide-user/security/dropbear.public-key.auth#from_the_luci_web_interface).
+
 ## Edit vault encrypted vars files
 
 ```bash

From cda28367645bb209689b48d6adc7c1be013dcd65 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 16 Jan 2025 10:23:07 +0000
Subject: [PATCH 170/259] chore(deps): update codeberg.org/forgejo/forgejo
 docker tag to v10

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 798ba3a..e4ae262 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -12,7 +12,7 @@ cleanuri_amqp_vhost: "/cleanuri"
 forgejo_host_port: 9091
 forgejo_ssh_port: 2222
 forgejo_domain_name: git.n39.eu
-forgejo_image: codeberg.org/forgejo/forgejo:9.0.3
+forgejo_image: codeberg.org/forgejo/forgejo:10.0.0
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu

From 0e377866ff089d006f8631739ac0aa830c38c671 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Mon, 6 Jan 2025 18:21:36 +0000
Subject: [PATCH 171/259] chore(deps): update jacobalberty/unifi docker tag to
 v9

---
 host-unicorn.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-unicorn.yml b/host-unicorn.yml
index 259a49b..1c48750 100644
--- a/host-unicorn.yml
+++ b/host-unicorn.yml
@@ -13,7 +13,7 @@
     - name: Setup the docker container for unifi-controller
       docker_container:
         name: unifi-controller
-        image: jacobalberty/unifi:v8.6.9
+        image: jacobalberty/unifi:v9.0.108
         state: started
         restart_policy: unless-stopped
         container_default_behavior: no_defaults

From c6b221d3fd2cca3f541d79d57a5d49b9b0ba77fd Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 30 Jan 2025 00:18:45 +0000
Subject: [PATCH 172/259] chore(deps): update redmine docker tag to v6.0.3

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index e4ae262..752fb0c 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -28,7 +28,7 @@ hedgedoc_postgres_password: "{{ vault_hedgedoc_postgres_password }}"
 
 redmine_host_port: 8087
 redmine_domain_name: redmine.n39.eu
-redmine_image: redmine:6.0.2
+redmine_image: redmine:6.0.3
 redmine_mysql_image: mysql:8.4
 redmine_database: redmine
 redmine_database_password: "{{ vault_redmine_database_password }}"

From f820443c469a2acf875e12dd0102c05afa6cf186 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 29 Jan 2025 12:18:51 +0000
Subject: [PATCH 173/259] chore(deps): update shlinkio/shlink docker tag to
 v4.4.2

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 752fb0c..22b7d1e 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -16,7 +16,7 @@ forgejo_image: codeberg.org/forgejo/forgejo:10.0.0
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu
-shlink_image: shlinkio/shlink:4.4.0
+shlink_image: shlinkio/shlink:4.4.2
 shlink_initial_api_key: "{{ vault_shlink_initial_api_key }}"
 shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 

From be226830218c3abc33bd17c03735c8354e826b11 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 28 Jan 2025 13:18:45 +0000
Subject: [PATCH 174/259] chore(deps): update grafana/grafana docker tag to
 v11.5.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 22b7d1e..3597884 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -52,7 +52,7 @@ uptimekuma_image: louislam/uptime-kuma:1.23.16
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu
-grafana_image: grafana/grafana:11.4.0
+grafana_image: grafana/grafana:11.5.0
 grafana_admin_password: "{{ vault_grafana_admin_password }}"
 
 homebox_host_port: 8092

From a3c14b1fb0422409773499452a175bf39f15fe07 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 5 Feb 2025 09:18:51 +0000
Subject: [PATCH 175/259] chore(deps): update renovate/renovate docker tag to
 v39.161.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 3597884..03ebbc1 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:39.84.0
+renovate_image: renovate/renovate:39.161.0
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From 80c32ea4c89de469d5d4f577803bc819b193019d Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Mon, 3 Feb 2025 10:18:46 +0000
Subject: [PATCH 176/259] chore(deps): update grafana/grafana docker tag to
 v11.5.1

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 03ebbc1..3cdbd55 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -52,7 +52,7 @@ uptimekuma_image: louislam/uptime-kuma:1.23.16
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu
-grafana_image: grafana/grafana:11.5.0
+grafana_image: grafana/grafana:11.5.1
 grafana_admin_password: "{{ vault_grafana_admin_password }}"
 
 homebox_host_port: 8092

From 7094eae031c67d08de9faf0dc282cb012ce8a14d Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 8 Feb 2025 14:18:55 +0000
Subject: [PATCH 177/259] chore(deps): update codeberg.org/forgejo/forgejo
 docker tag to v10.0.1

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 3cdbd55..e092bf1 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -12,7 +12,7 @@ cleanuri_amqp_vhost: "/cleanuri"
 forgejo_host_port: 9091
 forgejo_ssh_port: 2222
 forgejo_domain_name: git.n39.eu
-forgejo_image: codeberg.org/forgejo/forgejo:10.0.0
+forgejo_image: codeberg.org/forgejo/forgejo:10.0.1
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu

From e518a25dd4fab265dc1d9185782ca1c5ba91a051 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 4 Feb 2025 22:18:48 +0000
Subject: [PATCH 178/259] chore(deps): update jacobalberty/unifi docker tag to
 v9.0.114

---
 host-unicorn.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-unicorn.yml b/host-unicorn.yml
index 1c48750..ebe3987 100644
--- a/host-unicorn.yml
+++ b/host-unicorn.yml
@@ -13,7 +13,7 @@
     - name: Setup the docker container for unifi-controller
       docker_container:
         name: unifi-controller
-        image: jacobalberty/unifi:v9.0.108
+        image: jacobalberty/unifi:v9.0.114
         state: started
         restart_policy: unless-stopped
         container_default_behavior: no_defaults

From ec6a8b60aebc1f091f903841ae6e012aa81e8412 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 2 Feb 2025 23:18:45 +0000
Subject: [PATCH 179/259] chore(deps): update quay.io/hedgedoc/hedgedoc docker
 tag to v1.10.1

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index e092bf1..f8133f3 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -22,7 +22,7 @@ shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 
 hedgedoc_host_port: 8084
 hedgedoc_domain_name: pad.n39.eu
-hedgedoc_image: quay.io/hedgedoc/hedgedoc:1.10.0
+hedgedoc_image: quay.io/hedgedoc/hedgedoc:1.10.1
 hedgedoc_db_image: postgres:16.4-alpine
 hedgedoc_postgres_password: "{{ vault_hedgedoc_postgres_password }}"
 

From 49dd796a05d2f812427ca20f3e5954d43e8aa5e7 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Wed, 19 Feb 2025 21:40:23 +0100
Subject: [PATCH 180/259] :rotating_light: Modernize ansible-lint silence
 markup

Fixes the following warning when running `ansible-lint`:

    WARNING  Replaced outdated tag '503' with 'no-handler', replace it to avoid future regressions

Link: https://ansible.readthedocs.io/projects/lint/rules/no-handler/
---
 host-platon.yml                          | 2 +-
 host-wittgenstein.yml                    | 2 +-
 roles/docker_setup/tasks/main.yml        | 2 +-
 roles/nginx_https_ingress/tasks/main.yml | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/host-platon.yml b/host-platon.yml
index 41d033c..b16bb93 100644
--- a/host-platon.yml
+++ b/host-platon.yml
@@ -141,7 +141,7 @@
         mode: "0644"
       register: wiringPi_copy
 
-    - name: Install wiringPi library  # noqa 503
+    - name: Install wiringPi library  # noqa: no-handler
       ansible.builtin.apt:
         state: present
         deb: "/home/{{ gatekeeper_user }}/wiringpi-latest.deb"
diff --git a/host-wittgenstein.yml b/host-wittgenstein.yml
index c770b5f..955b425 100644
--- a/host-wittgenstein.yml
+++ b/host-wittgenstein.yml
@@ -94,7 +94,7 @@
         force: no
       register: wiringPi_download
 
-    - name: Install wiringPi library  # noqa 503
+    - name: Install wiringPi library  # noqa: no-handler
       ansible.builtin.apt:
         state: present
         deb: "/home/{{ gatekeeper_user }}/wiringpi-latest.deb"
diff --git a/roles/docker_setup/tasks/main.yml b/roles/docker_setup/tasks/main.yml
index cdfedfb..5a42436 100644
--- a/roles/docker_setup/tasks/main.yml
+++ b/roles/docker_setup/tasks/main.yml
@@ -34,7 +34,7 @@
     dest: /etc/apt/sources.list.d/docker.list
   register: apt_repo
 
-- name: Update package cache  # noqa 503
+- name: Update package cache  # noqa: no-handler
   ansible.builtin.apt:
     update_cache: true
   when: apt_repo.changed
diff --git a/roles/nginx_https_ingress/tasks/main.yml b/roles/nginx_https_ingress/tasks/main.yml
index 64884a5..aa5a4bb 100644
--- a/roles/nginx_https_ingress/tasks/main.yml
+++ b/roles/nginx_https_ingress/tasks/main.yml
@@ -33,7 +33,7 @@
     src: files/apt-preference-99nginx
     dest: /etc/apt/preferences.d/99nginx
 
-- name: Update package cache # noqa 503
+- name: Update package cache  # noqa: no-handler
   ansible.builtin.apt:
     update_cache: true
   when: apt_repo.changed

From 3730c67be004b2fd330e42228eb9d754c8d952f1 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Wed, 19 Feb 2025 21:49:57 +0100
Subject: [PATCH 181/259] :rotating_light: Add newline at eof

Fixes the following ansible-lint warning:

    yaml[new-line-at-end-of-file]: No new line character at the end of file
    group-k3s.yml:9
---
 group-k3s.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/group-k3s.yml b/group-k3s.yml
index e653d64..22c521d 100644
--- a/group-k3s.yml
+++ b/group-k3s.yml
@@ -6,4 +6,4 @@
     - name: Ensure nfs-common is installed on k3s VMs
       ansible.builtin.apt:
         pkg: nfs-common
-        state: present
\ No newline at end of file
+        state: present

From fa7e94403f7351e855ab9e255ea1f69733ea2163 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Wed, 19 Feb 2025 21:52:39 +0100
Subject: [PATCH 182/259] :rotating_light: Remove extra spaces

Fixes the following ansible-lint warning:

    yaml[colons]: Too many spaces after colon
    host-wittgenstein.yml:149
---
 host-wittgenstein.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-wittgenstein.yml b/host-wittgenstein.yml
index 955b425..07539a1 100644
--- a/host-wittgenstein.yml
+++ b/host-wittgenstein.yml
@@ -146,7 +146,7 @@
           TZ: "{{ timezone }}"
           MQTT_BROKER: "platon.n39.eu"
           MQTT_TOPIC_STATUS: "{{ spaceapi_topic_status }}"
-          MQTT_TOPIC_LASTCHANGE:  "{{ spaceapi_topic_lastchange }}"
+          MQTT_TOPIC_LASTCHANGE: "{{ spaceapi_topic_lastchange }}"
       tags:
         - spaceapi
 

From a9e5a509a5568814e884409f1a17dbfb203aeaec Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Wed, 19 Feb 2025 21:55:53 +0100
Subject: [PATCH 183/259] :rotating_light: Fix wrong indentation

Fixes the following ansible-lint warnings:

    yaml[indentation]: Wrong indentation: expected 6 but found 4
    roles/nfs-host/tasks/main.yml:6

    yaml[indentation]: Wrong indentation: expected 6 but found 4
    roles/nginx_https_ingress/tasks/main.yml:11

    yaml[indentation]: Wrong indentation: expected 6 but found 4
    roles/nginx_https_ingress/tasks/main.yml:48
---
 roles/nfs-host/tasks/main.yml            | 6 +++---
 roles/nginx_https_ingress/tasks/main.yml | 8 ++++----
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/roles/nfs-host/tasks/main.yml b/roles/nfs-host/tasks/main.yml
index c1ac52d..a6423ff 100644
--- a/roles/nfs-host/tasks/main.yml
+++ b/roles/nfs-host/tasks/main.yml
@@ -3,9 +3,9 @@
   ansible.builtin.apt:
     state: present
     name:
-    - nfs-kernel-server
-    - nfs-common
-    - parted
+      - nfs-kernel-server
+      - nfs-common
+      - parted
 
 - name: Create a new ext4 primary partition
   community.general.parted:
diff --git a/roles/nginx_https_ingress/tasks/main.yml b/roles/nginx_https_ingress/tasks/main.yml
index aa5a4bb..b922472 100644
--- a/roles/nginx_https_ingress/tasks/main.yml
+++ b/roles/nginx_https_ingress/tasks/main.yml
@@ -8,9 +8,9 @@
   ansible.builtin.apt:
     state: present
     name:
-    - apt-transport-https
-    - ca-certificates
-    - gnupg2
+      - apt-transport-https
+      - ca-certificates
+      - gnupg2
 
 ### Setup APT cache for the nginx repository
 #
@@ -45,7 +45,7 @@
     state: present
     name:
     # This version of nginx comes with the ngx_stream_core_module module
-    - nginx
+      - nginx
 
 
 ### Configuration

From 42710413d774f8c6d4ba97e76073fc6c4dc4ef4a Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Wed, 19 Feb 2025 21:57:30 +0100
Subject: [PATCH 184/259] :rotating_light: Add missing document start

Fixes the following ansible-lint warning:

    yaml[document-start]: Missing document start "---"
    host_vars/wittgenstein.n39.eu/vars.yml:1
---
 host_vars/wittgenstein.n39.eu/vars.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/host_vars/wittgenstein.n39.eu/vars.yml b/host_vars/wittgenstein.n39.eu/vars.yml
index 6479b44..6bca558 100644
--- a/host_vars/wittgenstein.n39.eu/vars.yml
+++ b/host_vars/wittgenstein.n39.eu/vars.yml
@@ -1,3 +1,4 @@
+---
 server_admin: "admin+wittgenstein@netz39.de"
 mac: "b8:27:eb:48:f1:59"
 ansible_python_interpreter: /usr/bin/python3

From cbbcccdcaeca0f1e608b53b49f4253cacd23461e Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Wed, 19 Feb 2025 21:58:48 +0100
Subject: [PATCH 185/259] :rotating_light: Remove extra blank line

Fixes the following ansible-lint warning:

    yaml[empty-lines]: Too many blank lines (1 > 0)
    host_vars/radon.n39.eu/vars.yml:14
---
 host_vars/radon.n39.eu/vars.yml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/host_vars/radon.n39.eu/vars.yml b/host_vars/radon.n39.eu/vars.yml
index e224d5c..0fe0902 100644
--- a/host_vars/radon.n39.eu/vars.yml
+++ b/host_vars/radon.n39.eu/vars.yml
@@ -11,4 +11,3 @@ kiosk_grafana_user: "{{ vault_kiosk_grafana_user }}"
 kiosk_grafana_pass: "{{ vault_kiosk_grafana_pass }}"
 kiosk_mqtt_host: "mqtt.n39.eu"
 kiosk_mqtt_topic: "Netz39/Things/HackingDashboard/Screenshot"
-

From a0021c4979497f396323dd74300753c9497dfcad Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Wed, 19 Feb 2025 22:01:13 +0100
Subject: [PATCH 186/259] :rotating_light: Add more spaces before comment

Fixes the following ansible-lint warnings:

    yaml[comments]: Too few spaces before comment
    host-unicorn.yml:31

    yaml[comments]: Too few spaces before comment
    host-wittgenstein.yml:143
---
 host-unicorn.yml      | 14 +++++++-------
 host-wittgenstein.yml |  2 +-
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/host-unicorn.yml b/host-unicorn.yml
index ebe3987..2ccca3a 100644
--- a/host-unicorn.yml
+++ b/host-unicorn.yml
@@ -22,13 +22,13 @@
         # These fixed ports are needed.
         # https://help.ui.com/hc/en-us/articles/218506997-UniFi-Ports-Used
         ports:
-          - "8080:8080/tcp"   # Device command/control
-          - "8443:8443/tcp"   # Web interface + API
-          - "8843:8843/tcp"   # HTTPS portal
-          - "8880:8880/tcp"   # HTTP portal
-          - "3478:3478/udp"   # STUN service
-          - "6789:6789/tcp"   # Speed Test (unifi5 only)
-          - "10001:10001/udp" # Used for device discovery.
+          - "8080:8080/tcp"     # Device command/control
+          - "8443:8443/tcp"     # Web interface + API
+          - "8843:8843/tcp"     # HTTPS portal
+          - "8880:8880/tcp"     # HTTP portal
+          - "3478:3478/udp"     # STUN service
+          - "6789:6789/tcp"     # Speed Test (unifi5 only)
+          - "10001:10001/udp"   # Used for device discovery.
         volumes:
           - "{{ data_dir }}/unifi-controller/data:/unifi/data"
           - "{{ data_dir }}/unifi-controller/log:/unifi/log"
diff --git a/host-wittgenstein.yml b/host-wittgenstein.yml
index 07539a1..c7a6869 100644
--- a/host-wittgenstein.yml
+++ b/host-wittgenstein.yml
@@ -140,7 +140,7 @@
         detach: yes
         restart_policy: unless-stopped
         ports:
-          - "0.0.0.0:{{ spaceapi_host_port }}:8080" # Must be reached by pottwal
+          - "0.0.0.0:{{ spaceapi_host_port }}:8080"   # Must be reached by pottwal
 #          - "127.0.0.1:{{ spaceapi_host_port }}:8080"
         env:
           TZ: "{{ timezone }}"

From 41ab4622b338b20f8bdb65f757b01dff77a9876a Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Thu, 20 Feb 2025 06:43:59 +0100
Subject: [PATCH 187/259] :rotating_light: Fix trivial jinja spacing warnings

Fixes the following ansible-lint warnings:

    jinja[spacing]: Jinja2 spacing could be improved: group:Admins:{{ users | map(attribute = 'logname') | join("@pam,") }}@pam:: -> group:Admins:{{ users | map(attribute='logname') | join("@pam,") }}@pam:: (warning)
    host-beaker.yml:23 Jinja2 template rewrite recommendation: `group:Admins:{{ users | map(attribute='logname') | join("@pam,") }}@pam::`.

    jinja[spacing]: Jinja2 spacing could be improved: {{  docker_ip_ranges  }} -> {{  docker_ip_ranges }} (warning)
    host-krypton.yml:95 Jinja2 template rewrite recommendation: `{{  docker_ip_ranges }}`.

    jinja[spacing]: Jinja2 spacing could be improved: {{  item  }} -> {{  item }} (warning)
    host-krypton.yml:98 Jinja2 template rewrite recommendation: `{{  item }}`.

    jinja[spacing]: Jinja2 spacing could be improved: {{  docker_ip_ranges  }} -> {{  docker_ip_ranges }} (warning)
    host-krypton.yml:105 Jinja2 template rewrite recommendation: `{{  docker_ip_ranges }}`.

    jinja[spacing]: Jinja2 spacing could be improved: {{  item  }} -> {{  item }} (warning)
    host-krypton.yml:108 Jinja2 template rewrite recommendation: `{{  item }}`.

    jinja[spacing]: Jinja2 spacing could be improved: {{ cleanuri_amqp_user  }} -> {{ cleanuri_amqp_user }} (warning)
    roles/cleanuri/tasks/main.yml:36 Jinja2 template rewrite recommendation: `{{ cleanuri_amqp_user }}`.

    jinja[spacing]: Jinja2 spacing could be improved: {{ cleanuri_amqp_user  }} -> {{ cleanuri_amqp_user }} (warning)
    roles/cleanuri/tasks/main.yml:53 Jinja2 template rewrite recommendation: `{{ cleanuri_amqp_user }}`.

    jinja[spacing]: Jinja2 spacing could be improved: {{ cleanuri_amqp_user  }} -> {{ cleanuri_amqp_user }} (warning)
    roles/cleanuri/tasks/main.yml:70 Jinja2 template rewrite recommendation: `{{ cleanuri_amqp_user }}`.
---
 host-beaker.yml               | 2 +-
 host-krypton.yml              | 8 ++++----
 roles/cleanuri/tasks/main.yml | 6 +++---
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/host-beaker.yml b/host-beaker.yml
index 1cf198c..ba571fa 100644
--- a/host-beaker.yml
+++ b/host-beaker.yml
@@ -22,6 +22,6 @@
       ansible.builtin.lineinfile:
         path: /etc/pve/user.cfg
         regexp: "^group:Admins:"
-        line: "group:Admins:{{ users | map(attribute = 'logname') | join(\"@pam,\") }}@pam::"
+        line: "group:Admins:{{ users | map(attribute='logname') | join(\"@pam,\") }}@pam::"
 
   handlers:
diff --git a/host-krypton.yml b/host-krypton.yml
index 7a45ca0..2623afa 100644
--- a/host-krypton.yml
+++ b/host-krypton.yml
@@ -98,9 +98,9 @@
         rule: allow
         port: '389'
         proto: tcp
-        from: "{{  item  }}"
+        from: "{{ item }}"
         comment: LDAP Docker Access
-      loop: "{{  docker_ip_ranges  }}"
+      loop: "{{ docker_ip_ranges }}"
 
     - name: Allow access to openLDAP from local docker container [2/2]
       become: true
@@ -108,9 +108,9 @@
         rule: allow
         port: '636'
         proto: tcp
-        from: "{{  item  }}"
+        from: "{{ item }}"
         comment: LDAP Docker Access
-      loop: "{{  docker_ip_ranges  }}"
+      loop: "{{ docker_ip_ranges }}"
 
 
     - name: Ensure container for entities validation service is running
diff --git a/roles/cleanuri/tasks/main.yml b/roles/cleanuri/tasks/main.yml
index b968729..9490a6f 100644
--- a/roles/cleanuri/tasks/main.yml
+++ b/roles/cleanuri/tasks/main.yml
@@ -35,7 +35,7 @@
     env:
       TZ: "{{ timezone }}"
       AMQP_HOST: "{{ cleanuri_amqp_host }}"
-      AMQP_USER: "{{ cleanuri_amqp_user  }}"
+      AMQP_USER: "{{ cleanuri_amqp_user }}"
       AMQP_PASS: "{{ cleanuri_amqp_pass }}"
       AMQP_VHOST: "{{ cleanuri_amqp_vhost }}"
       GATEWAY_RESULT_QUEUE: "{{ cleanuri_amqp_results }}"
@@ -52,7 +52,7 @@
     env:
       TZ: "{{ timezone }}"
       AMQP_HOST: "{{ cleanuri_amqp_host }}"
-      AMQP_USER: "{{ cleanuri_amqp_user  }}"
+      AMQP_USER: "{{ cleanuri_amqp_user }}"
       AMQP_PASS: "{{ cleanuri_amqp_pass }}"
       AMQP_VHOST: "{{ cleanuri_amqp_vhost }}"
       CANONIZER_TASK_QUEUE: "{{ cleanuri_amqp_canonizer }}"
@@ -69,7 +69,7 @@
     env:
       TZ: "{{ timezone }}"
       AMQP_HOST: "{{ cleanuri_amqp_host }}"
-      AMQP_USER: "{{ cleanuri_amqp_user  }}"
+      AMQP_USER: "{{ cleanuri_amqp_user }}"
       AMQP_PASS: "{{ cleanuri_amqp_pass }}"
       AMQP_VHOST: "{{ cleanuri_amqp_vhost }}"
       EXTRACTION_TASK_QUEUE: "{{ cleanuri_amqp_retrieval }}"

From 71f68604d70ba231cb453f33b5a2946e8b71c02e Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Thu, 20 Feb 2025 08:07:01 +0100
Subject: [PATCH 188/259] :wrench: yamllint: Disable comment-indentation
 warnings

Looked at the first three or five warnings, and those all look sane.
The linter seems to be overly picky here.

ansible-lint is happy about yaml now:

    % ansible-lint -t yaml

    Passed with production profile: 0 failure(s), 0 warning(s) on 142 files.

Link: https://yamllint.readthedocs.io/en/stable/rules.html#module-yamllint.rules.comments_indentation
---
 .yamllint | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.yamllint b/.yamllint
index 2522155..6e223ae 100644
--- a/.yamllint
+++ b/.yamllint
@@ -2,6 +2,7 @@
 extends: default
 
 rules:
+  comments-indentation: disable
   line-length: disable
   truthy:
     allowed-values:

From c1acfd66716777cb3d29cf68ef1e98736c26b907 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 11 Feb 2025 20:19:16 +0000
Subject: [PATCH 189/259] chore(deps): update bitnami/rabbitmq docker tag to
 v4.0.6

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index 58e55fa..f82edc9 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -13,7 +13,7 @@
     nodered_image: nodered/node-red:3.0.1-1-18
     nodered_data: "{{ data_dir }}/nodered"
 
-    rabbitmq_image: bitnami/rabbitmq:4.0.5
+    rabbitmq_image: bitnami/rabbitmq:4.0.6
     rabbitmq_data: "{{ data_dir }}/rabbitmq"
 
     pwr_meter_pulse_gw_image: netz39/power-meter-pulse-gateway:0.3.0

From 7a08b136ab56abaa9af778c6f9bb8bdeeaafb90c Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 21 Feb 2025 14:18:59 +0000
Subject: [PATCH 190/259] Update joseluisq/static-web-server Docker tag to
 v2.36

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index f8133f3..08919d5 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -42,7 +42,7 @@ influxdb_init_password: "{{ vault_influxdb_init_password }}"
 jabber_host_port: 8086
 prosody_domain_name: jabber.n39.eu
 prosody_image: netz39/prosody:0.11
-prosody_web_image: joseluisq/static-web-server:2.35
+prosody_web_image: joseluisq/static-web-server:2.36
 prosody_config_dir: "/etc/prosody"
 prosody_data_dir: "{{ data_dir }}/prosody"
 

From 635b87a300029f419f98cd61181a0b4959e8efd1 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 14 Feb 2025 22:22:08 +0000
Subject: [PATCH 191/259] chore(deps): update quay.io/hedgedoc/hedgedoc docker
 tag to v1.10.2

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 08919d5..fddce1e 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -22,7 +22,7 @@ shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 
 hedgedoc_host_port: 8084
 hedgedoc_domain_name: pad.n39.eu
-hedgedoc_image: quay.io/hedgedoc/hedgedoc:1.10.1
+hedgedoc_image: quay.io/hedgedoc/hedgedoc:1.10.2
 hedgedoc_db_image: postgres:16.4-alpine
 hedgedoc_postgres_password: "{{ vault_hedgedoc_postgres_password }}"
 

From 0cc1d052ad2168eb8acbc58e5df4388541ae4968 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 19 Feb 2025 01:19:07 +0000
Subject: [PATCH 192/259] chore(deps): update grafana/grafana docker tag to
 v11.5.2

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index fddce1e..bc1a884 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -52,7 +52,7 @@ uptimekuma_image: louislam/uptime-kuma:1.23.16
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu
-grafana_image: grafana/grafana:11.5.1
+grafana_image: grafana/grafana:11.5.2
 grafana_admin_password: "{{ vault_grafana_admin_password }}"
 
 homebox_host_port: 8092

From 028e4ffaddfe4c773b4fe13acababcb1654eb7fd Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 19 Feb 2025 19:22:29 +0000
Subject: [PATCH 193/259] chore(deps): update shlinkio/shlink docker tag to
 v4.4.4

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index bc1a884..c228689 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -16,7 +16,7 @@ forgejo_image: codeberg.org/forgejo/forgejo:10.0.1
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu
-shlink_image: shlinkio/shlink:4.4.2
+shlink_image: shlinkio/shlink:4.4.4
 shlink_initial_api_key: "{{ vault_shlink_initial_api_key }}"
 shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 

From b22c86758eaaeb54128144e5aa7d6503a7af8d4f Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sun, 21 Jan 2024 22:05:58 +0100
Subject: [PATCH 194/259] :truck: Migrate docker_host role to external project

We used a similar local role here, in the Freifunk Magdeburg project,
and in personal playbooks.  That was moved to an external project,
unified, and reworked, so the external role can act as replacement for
the distributed, redundant copies.

Link: https://github.com/netz39/ansible-role-host-docker
---
 group-docker_host.yml                       |  2 +-
 host-krypton.yml                            |  2 +-
 host-pottwal.yml                            |  2 +-
 host-radon.yml                              |  2 +-
 host-tau.yml                                |  2 +-
 host-unicorn.yml                            |  2 +-
 host-wittgenstein.yml                       |  2 +-
 requirements.yml                            |  3 +
 roles/docker_setup/defaults/main.yml        |  5 --
 roles/docker_setup/handlers/main.yml        |  6 --
 roles/docker_setup/tasks/main.yml           | 91 ---------------------
 roles/docker_setup/templates/daemon.json.j2 |  9 --
 roles/docker_setup/templates/docker.list.j2 |  2 -
 13 files changed, 10 insertions(+), 120 deletions(-)
 delete mode 100644 roles/docker_setup/defaults/main.yml
 delete mode 100644 roles/docker_setup/handlers/main.yml
 delete mode 100644 roles/docker_setup/tasks/main.yml
 delete mode 100644 roles/docker_setup/templates/daemon.json.j2
 delete mode 100644 roles/docker_setup/templates/docker.list.j2

diff --git a/group-docker_host.yml b/group-docker_host.yml
index 15c2ed9..08cfb2c 100644
--- a/group-docker_host.yml
+++ b/group-docker_host.yml
@@ -3,7 +3,7 @@
   become: true
 
   roles:
-    - role: docker_setup
+    - role: netz39.host_docker
 
 - hosts: docker_host:&location_space
   become: true
diff --git a/host-krypton.yml b/host-krypton.yml
index 2623afa..e9119ca 100644
--- a/host-krypton.yml
+++ b/host-krypton.yml
@@ -19,7 +19,7 @@
 
 
   roles:
-    # role 'docker_setup' applied through group 'docker_host'
+    # role 'netz39.host_docker' applied through group 'docker_host'
     - role: apache
     - role: apache_letsencrypt  # Uses configuration from dehydrated setup
     - role: 24367dfa.dehydrated
diff --git a/host-pottwal.yml b/host-pottwal.yml
index 9df71c4..ed32054 100644
--- a/host-pottwal.yml
+++ b/host-pottwal.yml
@@ -3,7 +3,7 @@
   become: true
 
   roles:
-    # role 'docker_setup' applied through group 'docker_host'
+    # role 'netz39.host_docker' applied through group 'docker_host'
     - role: apache
     - role: apache_letsencrypt  # Uses configuration from dehydrated setup
     - role: 24367dfa.dehydrated
diff --git a/host-radon.yml b/host-radon.yml
index f82edc9..93916ef 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -21,7 +21,7 @@
     brotherql_host_port: 9004
 
   roles:
-    # role 'docker_setup' applied through group 'docker_host'
+    # role 'netz39.host_docker' applied through group 'docker_host'
     - role: apache
     - role: apache_letsencrypt  # Uses configuration from dehydrated setup
     - role: 24367dfa.dehydrated
diff --git a/host-tau.yml b/host-tau.yml
index 665f926..ee5e2a4 100644
--- a/host-tau.yml
+++ b/host-tau.yml
@@ -19,7 +19,7 @@
     discord_invite_domain: discord.netz39.de
 
   roles:
-    # role 'docker_setup' applied through group 'docker_host'
+    # role 'netz39.host_docker' applied through group 'docker_host'
     - role: apache
     - role: penguineer.dehydrated_cron
 
diff --git a/host-unicorn.yml b/host-unicorn.yml
index 2ccca3a..a6fe8d5 100644
--- a/host-unicorn.yml
+++ b/host-unicorn.yml
@@ -7,7 +7,7 @@
     data_dir: "/srv/data"
 
   roles:
-    # role 'docker_setup' applied through group 'docker_host'
+    # role 'netz39.host_docker' applied through group 'docker_host'
 
   tasks:
     - name: Setup the docker container for unifi-controller
diff --git a/host-wittgenstein.yml b/host-wittgenstein.yml
index c7a6869..5557893 100644
--- a/host-wittgenstein.yml
+++ b/host-wittgenstein.yml
@@ -3,7 +3,7 @@
   become: true
 
   roles:
-    - role: docker_setup
+    - role: netz39.host_docker
       vars:
         docker_data_root: "/srv/docker"
     - role: apache
diff --git a/requirements.yml b/requirements.yml
index 975ae64..65bdec0 100644
--- a/requirements.yml
+++ b/requirements.yml
@@ -16,6 +16,9 @@ roles:
     version: v1.1.0
   - src: lespocky.telegraf_docker_in_docker
     version: v0.2.1
+  - name: netz39.host_docker
+    src: git+https://github.com/netz39/ansible-role-host-docker.git
+    version: v0.3.0
 
 collections:
   - name: community.grafana
diff --git a/roles/docker_setup/defaults/main.yml b/roles/docker_setup/defaults/main.yml
deleted file mode 100644
index f1d15e3..0000000
--- a/roles/docker_setup/defaults/main.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-docker_compose_version: "1.25.4"
-docker_compose_path: /usr/local/bin/docker-compose
-docker_data_root: "/var/lib/docker"
-docker_storage_driver: "overlay2"
diff --git a/roles/docker_setup/handlers/main.yml b/roles/docker_setup/handlers/main.yml
deleted file mode 100644
index 4e8c5a0..0000000
--- a/roles/docker_setup/handlers/main.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- name: restart docker
-  service:
-    name: docker
-    state: restarted
-    enabled: yes
diff --git a/roles/docker_setup/tasks/main.yml b/roles/docker_setup/tasks/main.yml
deleted file mode 100644
index 5a42436..0000000
--- a/roles/docker_setup/tasks/main.yml
+++ /dev/null
@@ -1,91 +0,0 @@
-# This file is a mash-up of:
-#   https://github.com/geerlingguy/ansible-role-docker/blob/master/tasks/docker-compose.yml
-#   https://www.digitalocean.com/community/tutorials/how-to-install-docker-compose-on-debian-9
-#   and our own stuff …
----
-- name: Gather package facts
-  package_facts:
-    manager: "auto"
-
-- name: Exit if docker.io is installed
-  fail:
-    msg: "Please remove docker.io (Debian vanilla docker package) first!"
-  when: "'docker.io' in ansible_facts.packages"
-
-- name: Install Docker APT deps
-  package:
-    name: "{{ packages }}"
-    state: present
-  vars:
-    packages:
-      - apt-transport-https
-      - ca-certificates
-      - gnupg2
-      - software-properties-common
-
-- name: add Docker apt-key
-  apt_key:
-    url: https://download.docker.com/linux/debian/gpg
-    state: present
-
-- name: add Docker's APT repository
-  ansible.builtin.template:
-    src: templates/docker.list.j2
-    dest: /etc/apt/sources.list.d/docker.list
-  register: apt_repo
-
-- name: Update package cache  # noqa: no-handler
-  ansible.builtin.apt:
-    update_cache: true
-  when: apt_repo.changed
-
-- name: install Docker
-  package:
-    name: "{{ packages }}"
-    state: present
-  vars:
-    packages:
-      - docker-ce
-      - python3-docker
-
-- name: Set docker configuration
-  template:
-    src: templates/daemon.json.j2
-    dest: /etc/docker/daemon.json
-    mode: "0644"
-  notify: restart docker
-
-- name: Check current docker-compose version.
-  command: docker-compose --version
-  register: docker_compose_current_version
-  changed_when: false
-  failed_when: false
-
-- name: Delete existing docker-compose version if it's different.
-  file:
-    path: "{{ docker_compose_path }}"
-    state: absent
-  when: >
-    docker_compose_current_version.stdout is defined
-    and docker_compose_version not in docker_compose_current_version.stdout
-
-- name: Install Docker Compose (if configured).
-  get_url:
-    url: https://github.com/docker/compose/releases/download/{{ docker_compose_version }}/docker-compose-Linux-x86_64
-    dest: "{{ docker_compose_path }}"
-    mode: "0755"
-
-- name: Place admin users in docker group
-  user:
-    name: "{{ item.logname }}"
-    groups: [docker]
-    append: yes
-  when: item.docker
-  with_items: "{{ users }}"
-
-- name: Ensure that docker image prune cron job is present.
-  ansible.builtin.cron:
-    name: docker image prune
-    special_time: weekly
-    user: root
-    job: "docker image prune --all --force"
diff --git a/roles/docker_setup/templates/daemon.json.j2 b/roles/docker_setup/templates/daemon.json.j2
deleted file mode 100644
index ee43392..0000000
--- a/roles/docker_setup/templates/daemon.json.j2
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-    "exec-opts": ["native.cgroupdriver=systemd"],
-    "log-driver": "json-file",
-        "log-opts": {
-            "max-size": "100m"
-        },
-    "data-root": "{{ docker_data_root }}",
-    "storage-driver": "{{ docker_storage_driver }}"
-}
diff --git a/roles/docker_setup/templates/docker.list.j2 b/roles/docker_setup/templates/docker.list.j2
deleted file mode 100644
index 7795847..0000000
--- a/roles/docker_setup/templates/docker.list.j2
+++ /dev/null
@@ -1,2 +0,0 @@
-deb https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable
-

From e946fe37b41f0be912e78d1d3b2108a2ecf8a937 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Wed, 19 Feb 2025 18:47:10 +0100
Subject: [PATCH 195/259] :wrench: renovate: Remove docker_compose match

The role matched by this was removed, and is handled through
requirements.yml now.  That should already be covered by renovate
without additional configuration.
---
 renovate.json | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)

diff --git a/renovate.json b/renovate.json
index 560af2a..b70eae7 100644
--- a/renovate.json
+++ b/renovate.json
@@ -11,17 +11,6 @@
       "matchStrings": [
         "image: (?<depName>.*?):(?<currentValue>.*?)(@(?<currentDigest>sha256:.*?))?\\s"
       ]
-    },
-    {
-      "fileMatch": [
-        "^roles/docker_setup/defaults/main.yml$"
-      ],
-      "datasourceTemplate": "github-release",
-      "versioningTemplate": "semver",
-      "depNameTemplate": "docker-compose",
-      "matchStrings": [
-        "docker_compose_version: (?<currentValue>.*?)\\s"
-      ]
     }
   ],
   "packageRules": [
@@ -30,5 +19,4 @@
       "schedule": [ "on friday" ]
     }
   ]
-
-}
\ No newline at end of file
+}

From cc41217ad888c67fc3e2afeb1e8f07e73f989f91 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sat, 22 Feb 2025 12:58:20 +0100
Subject: [PATCH 196/259] :wrench: Enable automatic docker image prune again

The feature was part of the old role but unconditionally.  When porting
to external role we made it optional with variable
`docker_cron_image_prune` but default to false.  Restore the previous
behaviour in this playbook.
---
 group_vars/docker_host/vars.yml | 1 +
 host-wittgenstein.yml           | 1 +
 2 files changed, 2 insertions(+)

diff --git a/group_vars/docker_host/vars.yml b/group_vars/docker_host/vars.yml
index 2978231..5be6933 100644
--- a/group_vars/docker_host/vars.yml
+++ b/group_vars/docker_host/vars.yml
@@ -1,2 +1,3 @@
 ---
 docker_data_root: "/srv/docker"
+docker_cron_image_prune: true
diff --git a/host-wittgenstein.yml b/host-wittgenstein.yml
index 5557893..1676da0 100644
--- a/host-wittgenstein.yml
+++ b/host-wittgenstein.yml
@@ -6,6 +6,7 @@
     - role: netz39.host_docker
       vars:
         docker_data_root: "/srv/docker"
+        docker_cron_image_prune: true
     - role: apache
     - role: apache_letsencrypt  # Uses configuration from dehydrated setup
     - role: 24367dfa.dehydrated

From 5df5a155c80958cf326b6b32817b60aedf3d14b1 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 25 Feb 2025 09:22:15 +0000
Subject: [PATCH 197/259] Update renovate/renovate Docker tag to v39.180.2

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index c228689..90e3870 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:39.161.0
+renovate_image: renovate/renovate:39.180.2
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From 3239237bbcaa3757f75dbdb91315b64759322aa5 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 27 Feb 2025 06:18:06 +0000
Subject: [PATCH 198/259] Update bitnami/rabbitmq Docker tag to v4.0.7

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index 93916ef..4fd6c4f 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -13,7 +13,7 @@
     nodered_image: nodered/node-red:3.0.1-1-18
     nodered_data: "{{ data_dir }}/nodered"
 
-    rabbitmq_image: bitnami/rabbitmq:4.0.6
+    rabbitmq_image: bitnami/rabbitmq:4.0.7
     rabbitmq_data: "{{ data_dir }}/rabbitmq"
 
     pwr_meter_pulse_gw_image: netz39/power-meter-pulse-gateway:0.3.0

From 7c3220ad2eb125f38f9a1aa324f23ab4a8594884 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 27 Feb 2025 09:18:09 +0000
Subject: [PATCH 199/259] Update dependency netz39.host_docker to v0.4.0

---
 requirements.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/requirements.yml b/requirements.yml
index 65bdec0..ab7caae 100644
--- a/requirements.yml
+++ b/requirements.yml
@@ -18,7 +18,7 @@ roles:
     version: v0.2.1
   - name: netz39.host_docker
     src: git+https://github.com/netz39/ansible-role-host-docker.git
-    version: v0.3.0
+    version: v0.4.0
 
 collections:
   - name: community.grafana

From e4340c1aba9e041ea516a590568614b2ba365b16 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 27 Feb 2025 11:18:08 +0000
Subject: [PATCH 200/259] Update mrtux/grafana-screenshot Docker tag to v0.1.2

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index 4fd6c4f..5cb9c19 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -212,7 +212,7 @@
     - name: Setup docker container for Grafana Screenshots
       docker_container:
         name: grafana-screenshot
-        image: mrtux/grafana-screenshot:0.1.1
+        image: mrtux/grafana-screenshot:0.1.2
         pull: true
         restart_policy: unless-stopped
         detach: yes

From 58e27dec10b51b5c9d3efe0faa9ebae15c506023 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Thu, 27 Feb 2025 13:38:29 +0100
Subject: [PATCH 201/259] :bug: Use bash as shell in cron jobs to make process
 substitution work
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The cron jobs were executed, but dash (/bin/sh) complained, and so the
actual command was never run.  This is why our dyndns update did not
work through cron, but when executed manually in bash by an admin.

Example for such a fail when done manually in sh:

    # echo test3 > >(/usr/bin/logger -p user.debug -t dd24)
    /bin/sh: 7: Syntax error: redirection unexpected

Process substitution with `>(command)` is a feature supported by bash
and other shells, but not by POSIX shell which was supposed to used here
(set by `SHELL=…`).  Instead of building complicated redirect magic for
sh just switch to bash, which should be available on the hosts affected.

Link: https://www.shellcheck.net/wiki/SC3001
Fixes: 03dbd132ebc5 (":loud_sound: Send DD24 cron errors to syslog")
Fixes: 38fbff30b5c5 ("feat: add role to manage dyndns entry on desec.io")
---
 roles/dd24_dyndns_cron/templates/dd24-dyndns.cron.j2   | 2 +-
 roles/desec_dyndns_cron/templates/desec-dyndns.cron.j2 | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/roles/dd24_dyndns_cron/templates/dd24-dyndns.cron.j2 b/roles/dd24_dyndns_cron/templates/dd24-dyndns.cron.j2
index 8e01809..fb60772 100644
--- a/roles/dd24_dyndns_cron/templates/dd24-dyndns.cron.j2
+++ b/roles/dd24_dyndns_cron/templates/dd24-dyndns.cron.j2
@@ -1,6 +1,6 @@
 # /etc/cron.d/dd24-dyndns: Cron call to renew DynDNS entry
 
-SHELL=/bin/sh
+SHELL=/bin/bash
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 
 */5 * * * * root curl --silent --show-error "https://dynamicdns.key-systems.net/update.php?hostname={{dyndns_domain}}&password={{dyndns_password}}&ip={{dyndns_ip}}" > /dev/null 2> >(/usr/bin/logger -p user.error -t dd24)
diff --git a/roles/desec_dyndns_cron/templates/desec-dyndns.cron.j2 b/roles/desec_dyndns_cron/templates/desec-dyndns.cron.j2
index 32bf8b6..2d2ca02 100644
--- a/roles/desec_dyndns_cron/templates/desec-dyndns.cron.j2
+++ b/roles/desec_dyndns_cron/templates/desec-dyndns.cron.j2
@@ -1,6 +1,6 @@
 # /etc/cron.d/desec-dyndns: Cron call to renew DynDNS entry
 
-SHELL=/bin/sh
+SHELL=/bin/bash
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 
 */5 * * * * root curl --silent --show-error --user {{ dyndns_domain }}:{{ dyndns_token }} "https://update.dedyn.io/" > /dev/null 2> >(/usr/bin/logger -p user.error -t desec)

From 338dfc74100856ec80a15f5ba5ad637ad05f0ac8 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Thu, 27 Feb 2025 13:57:29 +0100
Subject: [PATCH 202/259] :loud_sound: Redirect curl output to debug log

curl only logs its own errors to stderr with the given options (--silent
--show-error).  Requests answered by the remote webserver, regardless of
HTTP status code, go to stdout.  So in case of an unsuccesful update
with some error condition we could not see that before.  Redirect those
to debug log, because it's still quite noisy otherwise.

This adds 288 log messages per day and service to the debug log,
accounting to max. 30k per day and service, and thus should not hurt.

desec log output is only the word "good" in case of success.

dd24 full output would be this, and is thus reduced to the relevant
lines merged in one line:

    [RESPONSE]
    code = 200
    description = Command completed successfully
    runtime = 0.067
    queuetime = 0
    EOF

Sample journald entry:

    Feb 27 12:48:15 pottwal dd24[519651]: code = 200,description = Command completed successfully
---
 roles/dd24_dyndns_cron/templates/dd24-dyndns.cron.j2   | 2 +-
 roles/desec_dyndns_cron/templates/desec-dyndns.cron.j2 | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/roles/dd24_dyndns_cron/templates/dd24-dyndns.cron.j2 b/roles/dd24_dyndns_cron/templates/dd24-dyndns.cron.j2
index fb60772..8e509b7 100644
--- a/roles/dd24_dyndns_cron/templates/dd24-dyndns.cron.j2
+++ b/roles/dd24_dyndns_cron/templates/dd24-dyndns.cron.j2
@@ -3,4 +3,4 @@
 SHELL=/bin/bash
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 
-*/5 * * * * root curl --silent --show-error "https://dynamicdns.key-systems.net/update.php?hostname={{dyndns_domain}}&password={{dyndns_password}}&ip={{dyndns_ip}}" > /dev/null 2> >(/usr/bin/logger -p user.error -t dd24)
+*/5 * * * * root curl --silent --show-error "https://dynamicdns.key-systems.net/update.php?hostname={{dyndns_domain}}&password={{dyndns_password}}&ip={{dyndns_ip}}" > >(grep 'code\|description' | paste -d',' - - | logger -p user.debug -t dd24) 2> >(/usr/bin/logger -p user.error -t dd24)
diff --git a/roles/desec_dyndns_cron/templates/desec-dyndns.cron.j2 b/roles/desec_dyndns_cron/templates/desec-dyndns.cron.j2
index 2d2ca02..8250477 100644
--- a/roles/desec_dyndns_cron/templates/desec-dyndns.cron.j2
+++ b/roles/desec_dyndns_cron/templates/desec-dyndns.cron.j2
@@ -3,4 +3,4 @@
 SHELL=/bin/bash
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 
-*/5 * * * * root curl --silent --show-error --user {{ dyndns_domain }}:{{ dyndns_token }} "https://update.dedyn.io/" > /dev/null 2> >(/usr/bin/logger -p user.error -t desec)
+*/5 * * * * root curl --silent --show-error --user {{ dyndns_domain }}:{{ dyndns_token }} "https://update.dedyn.io/" > >(logger -p user.debug -t desec) 2> >(/usr/bin/logger -p user.error -t desec)

From 53fe6b4427b33d522407ac1775de50ab26e97275 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Wed, 26 Feb 2025 12:31:08 +0100
Subject: [PATCH 203/259] :memo: mailmap: Merge some new identies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Prefer private mail address over company mail address.
Prefer netz39 mail address over private mail address.

Output of `git shortlog -es` diffed:

```diff
--- before      2025-02-26 12:29:28.323774025 +0100
+++ after       2025-02-26 12:30:29.355141593 +0100
@@ -1,11 +1,8 @@
     99 Alexander Dahl <alex@netz39.de>
    284 David Kilias <dkdent@netz39.de>
-     2 Jens Winter-Hübenthal <jens.winter-huebenthal@bridgefield.de>
-     1 JensWH <jens.winter@gmail.com>
-     1 MG-95 <mg-95@gitea.n39.eu>
+     3 Jens Winter-Hübenthal <jens.winter@gmail.com>
      4 Maximilian Deubel <maximilian.deubel@gmail.com>
-     5 Maximilian Grau <mg-95@t-online.de>
+     6 Maximilian Grau <mg-95@t-online.de>
    259 Renovate Bot <accounts+renovatebot@netz39.de>
    670 Stefan Haun <tux@netz39.de>
-     1 timo <n39@therr.de>
-     1 timo <timo@netz39.de>
+     2 timo <timo@netz39.de>
```
---
 .mailmap | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/.mailmap b/.mailmap
index 60305c0..d71ca82 100644
--- a/.mailmap
+++ b/.mailmap
@@ -2,4 +2,8 @@ Alexander Dahl <alex@netz39.de> <post@lespocky.de>
 David Kilias <dkdent@netz39.de>
 David Kilias <dkdent@netz39.de> <david.kilias@gmail.com>
 Maximilian Grau <mg-95@t-online.de>
+Maximilian Grau <mg-95@t-online.de> <mg-95@gitea.n39.eu>
+Jens Winter-Hübenthal <jens.winter@gmail.com>
+Jens Winter-Hübenthal <jens.winter@gmail.com> <jens.winter-huebenthal@bridgefield.de>
 Stefan Haun <tux@netz39.de>
+<timo@netz39.de> <n39@therr.de>

From d065738f922a886d1d64e86b8b0d8a8c96aad048 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Thu, 27 Feb 2025 12:29:23 +0100
Subject: [PATCH 204/259] Update kiosk Grafana URL to enable kiosk mode

The kiosk setup mechanism seems to have changed in the past and now this parameter is needed in the Grafana URL.
---
 host_vars/radon.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/radon.n39.eu/vars.yml b/host_vars/radon.n39.eu/vars.yml
index 0fe0902..410f310 100644
--- a/host_vars/radon.n39.eu/vars.yml
+++ b/host_vars/radon.n39.eu/vars.yml
@@ -6,7 +6,7 @@ pwr_meter_api_token: "{{ vault_pwr_meter_api_token }}"
 brotherql_printer_host: "brotherql-720nw.n39.eu"
 
 # URL for the grafana kiosk in our Bastelbereich
-kiosk_grafana_url: "https://grafana.n39.eu/d/xpLj6UD4z/hobbes-space-monitor?orgId=1"
+kiosk_grafana_url: "https://grafana.n39.eu/d/xpLj6UD4z/hobbes-space-monitor?orgId=1&kiosk"
 kiosk_grafana_user: "{{ vault_kiosk_grafana_user }}"
 kiosk_grafana_pass: "{{ vault_kiosk_grafana_pass }}"
 kiosk_mqtt_host: "mqtt.n39.eu"

From dc8e51322ec8b4004f8ff7ec52e02242dc01dbd2 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Thu, 27 Feb 2025 13:59:47 +0100
Subject: [PATCH 205/259] Downgrade grafana-screenshot Docker image to v0.1.1

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index 5cb9c19..4fd6c4f 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -212,7 +212,7 @@
     - name: Setup docker container for Grafana Screenshots
       docker_container:
         name: grafana-screenshot
-        image: mrtux/grafana-screenshot:0.1.2
+        image: mrtux/grafana-screenshot:0.1.1
         pull: true
         restart_policy: unless-stopped
         detach: yes

From 7e5b723a3a2375291db7019daf6fc54d14e42e69 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Fri, 28 Feb 2025 08:36:12 +0100
Subject: [PATCH 206/259] :rotating_light: roles: nfs_host: Rename

Roles names are expected to be lower case with underscores only,
see ansible-lint warning:

    % ansible-lint -t role-name
    WARNING  Listing 1 violation(s) that are fatal
    role-name: Role name nfs-host does not match ``^[a-z][a-z0-9_]*$`` pattern.
    roles/nfs-host:1

    Read documentation for instructions on how to ignore specific rule violations.

                 Rule Violation Summary
     count tag       profile rule associated tags
         1 role-name basic   deprecations, metadata

    Failed after min profile: 1 failure(s), 0 warning(s) on 135 files.

Fixes: 213887052097 ("nfs server wird nicht im k3s laufen, labeling entfernt")
---
 host-plumbum.yml                                  | 2 +-
 roles/{nfs-host => nfs_host}/defaults/main.yml    | 2 +-
 roles/{nfs-host => nfs_host}/handlers/main.yml    | 0
 roles/{nfs-host => nfs_host}/tasks/main.yml       | 0
 roles/{nfs-host => nfs_host}/templates/exports.j2 | 0
 5 files changed, 2 insertions(+), 2 deletions(-)
 rename roles/{nfs-host => nfs_host}/defaults/main.yml (87%)
 rename roles/{nfs-host => nfs_host}/handlers/main.yml (100%)
 rename roles/{nfs-host => nfs_host}/tasks/main.yml (100%)
 rename roles/{nfs-host => nfs_host}/templates/exports.j2 (100%)

diff --git a/host-plumbum.yml b/host-plumbum.yml
index d9aa737..e0c3433 100644
--- a/host-plumbum.yml
+++ b/host-plumbum.yml
@@ -3,7 +3,7 @@
   become: true
 
   roles:
-    - role: nfs-host
+    - role: nfs_host
       vars:
         nfs_host_exports:
           - directory: "/srv/nfs/backup"
diff --git a/roles/nfs-host/defaults/main.yml b/roles/nfs_host/defaults/main.yml
similarity index 87%
rename from roles/nfs-host/defaults/main.yml
rename to roles/nfs_host/defaults/main.yml
index 210a3be..ee0d286 100644
--- a/roles/nfs-host/defaults/main.yml
+++ b/roles/nfs_host/defaults/main.yml
@@ -1,4 +1,4 @@
-# Defaults for nfs-host
+# Defaults for nfs_host
 ---
 nfs_host_exports: []
   # - directory: "/srv/nfs"
diff --git a/roles/nfs-host/handlers/main.yml b/roles/nfs_host/handlers/main.yml
similarity index 100%
rename from roles/nfs-host/handlers/main.yml
rename to roles/nfs_host/handlers/main.yml
diff --git a/roles/nfs-host/tasks/main.yml b/roles/nfs_host/tasks/main.yml
similarity index 100%
rename from roles/nfs-host/tasks/main.yml
rename to roles/nfs_host/tasks/main.yml
diff --git a/roles/nfs-host/templates/exports.j2 b/roles/nfs_host/templates/exports.j2
similarity index 100%
rename from roles/nfs-host/templates/exports.j2
rename to roles/nfs_host/templates/exports.j2

From 94bdf607008513f6988c0f3f2d7abb35fbaf8402 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Fri, 28 Feb 2025 08:43:04 +0100
Subject: [PATCH 207/259] :rotating_light: roles: setup_http_site_forward:
 Rename

Roles names should be lowercase with underscores only.
ansible-lint complained:

    % ansible-lint -t role-name
    WARNING  Listing 1 violation(s) that are fatal
    role-name: Role name setup-http-site-forward does not match ``^[a-z][a-z0-9_]*$`` pattern.
    roles/setup-http-site-forward:1

    Read documentation for instructions on how to ignore specific rule violations.

                 Rule Violation Summary
     count tag       profile rule associated tags
         1 role-name basic   deprecations, metadata

    Failed after min profile: 1 failure(s), 0 warning(s) on 135 files.

Fixes: 85c09ea2ae7f ("Add role for apache forward site")
---
 host-tau.yml                                                    | 2 +-
 .../handlers/main.yml                                           | 0
 .../tasks/main.yml                                              | 0
 .../templates/apache-docker-forward-site.j2                     | 0
 4 files changed, 1 insertion(+), 1 deletion(-)
 rename roles/{setup-http-site-forward => setup_http_site_forward}/handlers/main.yml (100%)
 rename roles/{setup-http-site-forward => setup_http_site_forward}/tasks/main.yml (100%)
 rename roles/{setup-http-site-forward => setup_http_site_forward}/templates/apache-docker-forward-site.j2 (100%)

diff --git a/host-tau.yml b/host-tau.yml
index ee5e2a4..64c7c56 100644
--- a/host-tau.yml
+++ b/host-tau.yml
@@ -191,7 +191,7 @@
 
     - name: Setup forwarding for Discord invite
       include_role:
-        name: setup-http-site-forward
+        name: setup_http_site_forward
       vars:
         site_name: "{{ discord_invite_domain }}"
         # forward_to: "https://discord.com/invite/8FcDvAf"
diff --git a/roles/setup-http-site-forward/handlers/main.yml b/roles/setup_http_site_forward/handlers/main.yml
similarity index 100%
rename from roles/setup-http-site-forward/handlers/main.yml
rename to roles/setup_http_site_forward/handlers/main.yml
diff --git a/roles/setup-http-site-forward/tasks/main.yml b/roles/setup_http_site_forward/tasks/main.yml
similarity index 100%
rename from roles/setup-http-site-forward/tasks/main.yml
rename to roles/setup_http_site_forward/tasks/main.yml
diff --git a/roles/setup-http-site-forward/templates/apache-docker-forward-site.j2 b/roles/setup_http_site_forward/templates/apache-docker-forward-site.j2
similarity index 100%
rename from roles/setup-http-site-forward/templates/apache-docker-forward-site.j2
rename to roles/setup_http_site_forward/templates/apache-docker-forward-site.j2

From d96a2770cf54ccf38dd658035e5426ae52087dc6 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 1 Mar 2025 09:18:08 +0000
Subject: [PATCH 208/259] Update shlinkio/shlink Docker tag to v4.4.5

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 90e3870..5ee7e89 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -16,7 +16,7 @@ forgejo_image: codeberg.org/forgejo/forgejo:10.0.1
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu
-shlink_image: shlinkio/shlink:4.4.4
+shlink_image: shlinkio/shlink:4.4.5
 shlink_initial_api_key: "{{ vault_shlink_initial_api_key }}"
 shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 

From 8b2ab7753dd1eb334c6f036c8aa229f051c3f99c Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sat, 1 Mar 2025 21:21:22 +0100
Subject: [PATCH 209/259] :rotating_light: Fix linter warnings of type
 'name[casing]'

ansible-lint reads like this:

    name[casing]: All names should start with an uppercase letter.

While at it: Some task/handler names were slightly adapted to better
match what should be done.
---
 host-beaker.yml                                 |  4 ++--
 host-platon.yml                                 | 16 ++++++++--------
 host-pottwal.yml                                |  4 ++--
 host-radon.yml                                  |  4 ++--
 roles/apache/handlers/main.yml                  |  2 +-
 roles/apache/tasks/main.yml                     |  4 ++--
 roles/apache_letsencrypt/handlers/main.yml      |  2 +-
 roles/apache_letsencrypt/tasks/main.yml         |  4 ++--
 roles/dd24_dyndns_cron/handlers/main.yml        |  2 +-
 roles/dd24_dyndns_cron/tasks/main.yml           |  2 +-
 roles/desec_dyndns_cron/handlers/main.yml       |  2 +-
 roles/desec_dyndns_cron/tasks/main.yml          |  2 +-
 roles/nfs_host/handlers/main.yml                |  2 +-
 roles/nfs_host/tasks/main.yml                   |  6 +++---
 roles/nginx_https_ingress/handlers/main.yml     |  2 +-
 roles/nginx_https_ingress/tasks/main.yml        |  6 +++---
 roles/setup_http_site_forward/handlers/main.yml |  2 +-
 roles/setup_http_site_forward/tasks/main.yml    |  4 ++--
 roles/setup_http_site_proxy/handlers/main.yml   |  2 +-
 roles/setup_http_site_proxy/tasks/main.yml      |  4 ++--
 setup-ssh.yml                                   |  8 ++++----
 21 files changed, 42 insertions(+), 42 deletions(-)

diff --git a/host-beaker.yml b/host-beaker.yml
index ba571fa..2729426 100644
--- a/host-beaker.yml
+++ b/host-beaker.yml
@@ -9,7 +9,7 @@
 
   tasks:
 
-    - name: enable proxmox gui login for admin users
+    - name: Enable proxmox gui login for admin users
       ansible.builtin.lineinfile:
         path: /etc/pve/user.cfg
         regexp: "^user:{{ item.logname }}@pam"
@@ -18,7 +18,7 @@
         state: present
       loop: "{{ users }}"
 
-    - name: configure proxmox admin group
+    - name: Configure proxmox admin group
       ansible.builtin.lineinfile:
         path: /etc/pve/user.cfg
         regexp: "^group:Admins:"
diff --git a/host-platon.yml b/host-platon.yml
index b16bb93..9a54416 100644
--- a/host-platon.yml
+++ b/host-platon.yml
@@ -63,7 +63,7 @@
         owner: root
         group: root
         mode: '0644'
-      notify: restart mosquitto
+      notify: Restart mosquitto service
 
 
     ### Sesam for SSH access
@@ -245,7 +245,7 @@
         owner: root
         group: root
         mode: "0644"
-      notify: restart rsyslog
+      notify: Restart rsyslog
 
 
     ### Asterisk
@@ -258,7 +258,7 @@
         owner: root
         group: root
         mode: "0644"
-      notify: restart asterisk
+      notify: Restart asterisk
 
     - name: Set up extensions for asterisk
       # This uses the variables gatekeeper_user and door_open_command
@@ -268,14 +268,14 @@
         owner: root
         group: root
         mode: "0644"
-      notify: restart asterisk
+      notify: Restart asterisk
 
     - name: Ensure asterisk is in the right groups
       ansible.builtin.user:
         name: asterisk
         groups: audio,i2c,gpio
         append: yes
-      notify: restart asterisk
+      notify: Restart asterisk
 
     # Asterisk now executes shell scripts with reduced privileges, so we need to
     # use sudo for I2C access.
@@ -304,19 +304,19 @@
 
 
   handlers:
-    - name: restart mosquitto
+    - name: Restart mosquitto service
       service:
         name: mosquitto
         state: restarted
         enabled: yes
 
-    - name: restart rsyslog
+    - name: Restart rsyslog
       service:
         name: rsyslog
         state: restarted
         enabled: yes
 
-    - name: restart asterisk
+    - name: Restart asterisk
       service:
         name: asterisk
         state: restarted
diff --git a/host-pottwal.yml b/host-pottwal.yml
index ed32054..4f50ab5 100644
--- a/host-pottwal.yml
+++ b/host-pottwal.yml
@@ -642,7 +642,7 @@
         src: templates/pottwal/renovate-cron.j2
         dest: /etc/cron.hourly/renovate-bot
         mode: "0700"
-      notify: reload cron
+      notify: Reload cron
       tags:
         - renovate
 
@@ -658,7 +658,7 @@
         name: apache2
         state: restarted
 
-    - name: reload cron
+    - name: Reload cron
       ansible.builtin.shell:
         cmd: service cron reload
     # Use the shell call because the task sometimes has problems finding the service state
diff --git a/host-radon.yml b/host-radon.yml
index 4fd6c4f..92131c2 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -53,7 +53,7 @@
         src: "templates/mosquitto.conf.j2"
         dest: "{{ mosquitto_data }}/config/mosquitto.conf"
         mode: 0644
-      notify: restart mosquitto
+      notify: Restart mosquitto container
       tags:
         - mosquitto
 
@@ -226,7 +226,7 @@
         - grafana-screenshot
 
   handlers:
-    - name: restart mosquitto
+    - name: Restart mosquitto container
       docker_container:
         name: mosquitto
         state: started
diff --git a/roles/apache/handlers/main.yml b/roles/apache/handlers/main.yml
index e307af9..3f91a65 100644
--- a/roles/apache/handlers/main.yml
+++ b/roles/apache/handlers/main.yml
@@ -1,6 +1,6 @@
 # Handlers for role apache
 ---
-- name: restart apache2
+- name: Restart apache2
   service:
     name: apache2
     state: restarted
diff --git a/roles/apache/tasks/main.yml b/roles/apache/tasks/main.yml
index 6bfa4da..9e7a82c 100644
--- a/roles/apache/tasks/main.yml
+++ b/roles/apache/tasks/main.yml
@@ -23,7 +23,7 @@
     mode: "0644"
     owner: root
     group: root
-  notify: restart apache2
+  notify: Restart apache2
 
 - name: Add symlink to enable configuration
   ansible.builtin.file:
@@ -32,4 +32,4 @@
     state: link
     owner: root
     group: root
-  notify: restart apache2
+  notify: Restart apache2
diff --git a/roles/apache_letsencrypt/handlers/main.yml b/roles/apache_letsencrypt/handlers/main.yml
index abf4ea1..a3c935a 100644
--- a/roles/apache_letsencrypt/handlers/main.yml
+++ b/roles/apache_letsencrypt/handlers/main.yml
@@ -1,6 +1,6 @@
 # Handlers for role apache_letsencrypt
 ---
-- name: restart apache2
+- name: Restart apache2
   service:
     name: apache2
     state: restarted
diff --git a/roles/apache_letsencrypt/tasks/main.yml b/roles/apache_letsencrypt/tasks/main.yml
index 6acb952..1294f2d 100644
--- a/roles/apache_letsencrypt/tasks/main.yml
+++ b/roles/apache_letsencrypt/tasks/main.yml
@@ -7,7 +7,7 @@
     mode: "0644"
     owner: root
     group: root
-  notify: restart apache2
+  notify: Restart apache2
 
 - name: Add symlink to enable configuration
   ansible.builtin.file:
@@ -17,4 +17,4 @@
     mode: "0644"
     owner: root
     group: root
-  notify: restart apache2
+  notify: Restart apache2
diff --git a/roles/dd24_dyndns_cron/handlers/main.yml b/roles/dd24_dyndns_cron/handlers/main.yml
index 49c802c..10ded8f 100644
--- a/roles/dd24_dyndns_cron/handlers/main.yml
+++ b/roles/dd24_dyndns_cron/handlers/main.yml
@@ -1,6 +1,6 @@
 # handlers file for cron-dd24-dyndns
 ---
-- name: reload cron
+- name: Reload cron
   ansible.builtin.shell:
     cmd: service cron reload
     warn: no
diff --git a/roles/dd24_dyndns_cron/tasks/main.yml b/roles/dd24_dyndns_cron/tasks/main.yml
index 5060260..7187267 100644
--- a/roles/dd24_dyndns_cron/tasks/main.yml
+++ b/roles/dd24_dyndns_cron/tasks/main.yml
@@ -13,6 +13,6 @@
     owner: root
     group: root
     mode: "0644"
-  notify: reload cron
+  notify: Reload cron
   # There is ansible.builtin.cron, but this makes configuration much
   # more complicated, so we stick to the template.
diff --git a/roles/desec_dyndns_cron/handlers/main.yml b/roles/desec_dyndns_cron/handlers/main.yml
index 76bb1a9..8017c9d 100644
--- a/roles/desec_dyndns_cron/handlers/main.yml
+++ b/roles/desec_dyndns_cron/handlers/main.yml
@@ -1,6 +1,6 @@
 # handlers file for desec_dyndns_cron
 ---
-- name: reload cron
+- name: Reload cron
   ansible.builtin.shell:
     cmd: service cron reload
     warn: no
diff --git a/roles/desec_dyndns_cron/tasks/main.yml b/roles/desec_dyndns_cron/tasks/main.yml
index d389fb7..921b8f6 100644
--- a/roles/desec_dyndns_cron/tasks/main.yml
+++ b/roles/desec_dyndns_cron/tasks/main.yml
@@ -13,6 +13,6 @@
     owner: root
     group: root
     mode: "0644"
-  notify: reload cron
+  notify: Reload cron
   # There is ansible.builtin.cron, but this makes configuration much
   # more complicated, so we stick to the template.
diff --git a/roles/nfs_host/handlers/main.yml b/roles/nfs_host/handlers/main.yml
index 4cdcec5..c2a634d 100644
--- a/roles/nfs_host/handlers/main.yml
+++ b/roles/nfs_host/handlers/main.yml
@@ -1,3 +1,3 @@
 ---
-- name: reload nfs
+- name: Reload nfs
   command: 'exportfs -ra'
diff --git a/roles/nfs_host/tasks/main.yml b/roles/nfs_host/tasks/main.yml
index a6423ff..4ad14c0 100644
--- a/roles/nfs_host/tasks/main.yml
+++ b/roles/nfs_host/tasks/main.yml
@@ -14,7 +14,7 @@
     state: present
     fs_type: ext4
 
-- name: ensure nfs mountpoints exist
+- name: Ensure nfs mountpoints exist
   ansible.builtin.file:
     path: "{{ item.directory }}"
     state: directory
@@ -30,11 +30,11 @@
     fstype: ext4
     state: present
 
-- name: template /etc/exports
+- name: Put /etc/exports in place from template
   ansible.builtin.template:
     src: templates/exports.j2
     dest: "/etc/exports"
-  notify: reload nfs
+  notify: Reload nfs
 
 - name: Ensure nfs is running.
   ansible.builtin.service: "name=nfs-kernel-server state=started enabled=yes"
diff --git a/roles/nginx_https_ingress/handlers/main.yml b/roles/nginx_https_ingress/handlers/main.yml
index 53aebbb..66bf5d2 100644
--- a/roles/nginx_https_ingress/handlers/main.yml
+++ b/roles/nginx_https_ingress/handlers/main.yml
@@ -1,6 +1,6 @@
 # Handlers für nginx-https-proxy
 ---
-- name: restart nginx
+- name: Restart nginx
   service:
     name: nginx
     state: restarted
diff --git a/roles/nginx_https_ingress/tasks/main.yml b/roles/nginx_https_ingress/tasks/main.yml
index b922472..0eeed5f 100644
--- a/roles/nginx_https_ingress/tasks/main.yml
+++ b/roles/nginx_https_ingress/tasks/main.yml
@@ -56,7 +56,7 @@
     owner: root
     group: root
     mode: '0644'
-  notify: restart nginx
+  notify: Restart nginx
 
 - name: Create directory for dehydrated forwardings
   ansible.builtin.file:
@@ -74,7 +74,7 @@
     group: root
     mode: '0644'
   loop: "{{ ingress }}"
-  notify: restart nginx
+  notify: Restart nginx
 
 - name: Setup nginx configuration
   # Note the order here: The nginx configuration _needs_ he dehydrated-hosts
@@ -86,4 +86,4 @@
     owner: root
     group: root
     mode: '0644'
-  notify: restart nginx
+  notify: Restart nginx
diff --git a/roles/setup_http_site_forward/handlers/main.yml b/roles/setup_http_site_forward/handlers/main.yml
index 670471f..db1118f 100644
--- a/roles/setup_http_site_forward/handlers/main.yml
+++ b/roles/setup_http_site_forward/handlers/main.yml
@@ -1,5 +1,5 @@
 ---
-- name: restart apache2
+- name: Restart apache2
   service:
     name: apache2
     state: restarted
diff --git a/roles/setup_http_site_forward/tasks/main.yml b/roles/setup_http_site_forward/tasks/main.yml
index cac1779..ca31f22 100644
--- a/roles/setup_http_site_forward/tasks/main.yml
+++ b/roles/setup_http_site_forward/tasks/main.yml
@@ -3,10 +3,10 @@
   template:
     src: templates/apache-docker-forward-site.j2
     dest: /etc/apache2/sites-available/{{ site_name }}.conf
-  notify: restart apache2
+  notify: Restart apache2
 
 - name: Activate Apache2 site
   command: a2ensite {{ site_name }}
   args:
     creates: /etc/apache2/sites-enabled/{{ site_name }}.conf
-  notify: restart apache2
+  notify: Restart apache2
diff --git a/roles/setup_http_site_proxy/handlers/main.yml b/roles/setup_http_site_proxy/handlers/main.yml
index 670471f..db1118f 100644
--- a/roles/setup_http_site_proxy/handlers/main.yml
+++ b/roles/setup_http_site_proxy/handlers/main.yml
@@ -1,5 +1,5 @@
 ---
-- name: restart apache2
+- name: Restart apache2
   service:
     name: apache2
     state: restarted
diff --git a/roles/setup_http_site_proxy/tasks/main.yml b/roles/setup_http_site_proxy/tasks/main.yml
index c1f52d2..f644791 100644
--- a/roles/setup_http_site_proxy/tasks/main.yml
+++ b/roles/setup_http_site_proxy/tasks/main.yml
@@ -4,10 +4,10 @@
     src: templates/apache-docker-proxy-site.j2
     dest: /etc/apache2/sites-available/{{ site_name }}.conf
     mode: "0644"
-  notify: restart apache2
+  notify: Restart apache2
 
 - name: Activate Apache2 site
   command: a2ensite {{ site_name }}
   args:
     creates: /etc/apache2/sites-enabled/{{ site_name }}.conf
-  notify: restart apache2
+  notify: Restart apache2
diff --git a/setup-ssh.yml b/setup-ssh.yml
index e5297a3..8494297 100644
--- a/setup-ssh.yml
+++ b/setup-ssh.yml
@@ -1,21 +1,21 @@
 ---
-- name: configure local ssh to access n39 hosts
+- name: Configure local ssh to access n39 hosts
   hosts: localhost
 
   tasks:
-    - name: ensure {{ lookup('env', 'HOME') }}/.ssh/config.d/ dir is present
+    - name: Ensure {{ lookup('env', 'HOME') }}/.ssh/config.d/ dir is present
       ansible.builtin.file:
         path: "{{ lookup('env', 'HOME') }}/.ssh/config.d/"
         state: directory
       delegate_to: localhost
 
-    - name: template ssh config for access to internal systems
+    - name: Put ssh config for access to n39 internal systems in place
       ansible.builtin.template:
         src: templates/ssh_config.j2
         dest: "{{ lookup('env', 'HOME') }}/.ssh/config.d/n39_config"
       delegate_to: localhost
 
-    - name: ensure that n39 access config is included
+    - name: Ensure that n39 access config is included
       ansible.builtin.lineinfile:
         path: ~/.ssh/config
         insertbefore: BOF

From e3d2e8a31b3ced4c0570a233f76c4f447ff4773e Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sat, 1 Mar 2025 22:09:10 +0100
Subject: [PATCH 210/259] :rotating_light: Fix linter warning of type
 'name[template]'

This warning:

    name[template]: Jinja templates should only be at the end of 'name'
    setup-ssh.yml:6 Task/Handler: Ensure {{ lookup('env', 'HOME') }}/.ssh/config.d/ dir is present

Reason for that warning is thin.  Using the actual home dir here adds
not much value, so keep it symbolic.

Link: https://ansible.readthedocs.io/projects/lint/rules/name/
---
 setup-ssh.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/setup-ssh.yml b/setup-ssh.yml
index 8494297..58fcbcd 100644
--- a/setup-ssh.yml
+++ b/setup-ssh.yml
@@ -3,7 +3,7 @@
   hosts: localhost
 
   tasks:
-    - name: Ensure {{ lookup('env', 'HOME') }}/.ssh/config.d/ dir is present
+    - name: Ensure $HOME/.ssh/config.d/ dir is present
       ansible.builtin.file:
         path: "{{ lookup('env', 'HOME') }}/.ssh/config.d/"
         state: directory

From bc43af38d95bd1814d9e5fb095e031f890361505 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sun, 2 Mar 2025 09:22:05 +0100
Subject: [PATCH 211/259] :rotating_light: Add names to plays to fix name[play]
 linter warnings

Adds basic descriptions on what those host are supposed to do.
---
 group-all.yml         | 5 ++---
 group-docker_host.yml | 6 ++++--
 group-k3s.yml         | 3 ++-
 group-proxmox.yml     | 3 ++-
 host-beaker.yml       | 3 ++-
 host-hobbes.yml       | 3 ++-
 host-holmium.yml      | 3 ++-
 host-krypton.yml      | 3 ++-
 host-oganesson.yml    | 3 ++-
 host-platon.yml       | 3 ++-
 host-plumbum.yml      | 3 ++-
 host-pottwal.yml      | 3 ++-
 host-radon.yml        | 3 ++-
 host-tau.yml          | 3 ++-
 host-unicorn.yml      | 3 ++-
 host-wittgenstein.yml | 3 ++-
 16 files changed, 34 insertions(+), 19 deletions(-)

diff --git a/group-all.yml b/group-all.yml
index 2d95128..b99f764 100644
--- a/group-all.yml
+++ b/group-all.yml
@@ -1,7 +1,6 @@
 ---
-# tasks for all hosts
-
-- hosts: all
+- name: Tasks for all hosts
+  hosts: all
   become: true
 
   vars:
diff --git a/group-docker_host.yml b/group-docker_host.yml
index 08cfb2c..345f007 100644
--- a/group-docker_host.yml
+++ b/group-docker_host.yml
@@ -1,11 +1,13 @@
 ---
-- hosts: docker_host
+- name: Tasks for docker hosts
+  hosts: docker_host
   become: true
 
   roles:
     - role: netz39.host_docker
 
-- hosts: docker_host:&location_space
+- name: Tasks for docker hosts at location space
+  hosts: docker_host:&location_space
   become: true
 
   roles:
diff --git a/group-k3s.yml b/group-k3s.yml
index 22c521d..96917bf 100644
--- a/group-k3s.yml
+++ b/group-k3s.yml
@@ -1,5 +1,6 @@
 ---
-- hosts: k3s
+- name: Tasks for kubernetes hosts
+  hosts: k3s
   become: true
 
   tasks:
diff --git a/group-proxmox.yml b/group-proxmox.yml
index 6ec32bb..d95a857 100644
--- a/group-proxmox.yml
+++ b/group-proxmox.yml
@@ -1,5 +1,6 @@
 ---
-- hosts: proxmox
+- name: Tasks for virtual machines on proxmox host
+  hosts: proxmox
   become: true
 
   tasks:
diff --git a/host-beaker.yml b/host-beaker.yml
index 2729426..4eb5817 100644
--- a/host-beaker.yml
+++ b/host-beaker.yml
@@ -1,5 +1,6 @@
 ---
-- hosts: beaker.n39.eu
+- name: Setup things on host 'beaker' (proxmox server im space)
+  hosts: beaker.n39.eu
   become: true
 
   vars:
diff --git a/host-hobbes.yml b/host-hobbes.yml
index af2ec88..618d07f 100644
--- a/host-hobbes.yml
+++ b/host-hobbes.yml
@@ -1,5 +1,6 @@
 ---
-- hosts: hobbes.n39.eu
+- name: Setup things on host 'hobbes' (raspberry pi for kiosk screen)
+  hosts: hobbes.n39.eu
   become: true
 
   vars:
diff --git a/host-holmium.yml b/host-holmium.yml
index 006f314..948f705 100644
--- a/host-holmium.yml
+++ b/host-holmium.yml
@@ -1,5 +1,6 @@
 ---
-- hosts: holmium.n39.eu
+- name: Setup things on host 'holmium' (http ingress vm)
+  hosts: holmium.n39.eu
   become: true
 
   vars:
diff --git a/host-krypton.yml b/host-krypton.yml
index e9119ca..8f0df64 100644
--- a/host-krypton.yml
+++ b/host-krypton.yml
@@ -1,5 +1,6 @@
 ---
-- hosts: krypton.n39.eu
+- name: Setup things on host 'krypton' (ldap vm)
+  hosts: krypton.n39.eu
   become: true
 
   vars:
diff --git a/host-oganesson.yml b/host-oganesson.yml
index ed2e5a0..a4cc596 100644
--- a/host-oganesson.yml
+++ b/host-oganesson.yml
@@ -1,5 +1,6 @@
 ---
-- hosts: oganesson.n39.eu
+- name: Setup things on host 'oganesson' (ssh jump host vm)
+  hosts: oganesson.n39.eu
   become: true
 
   vars:
diff --git a/host-platon.yml b/host-platon.yml
index 9a54416..fa03f70 100644
--- a/host-platon.yml
+++ b/host-platon.yml
@@ -1,5 +1,6 @@
 ---
-- hosts: platon.n39.eu
+- name: Setup things on host 'platon' (raspberry pi for entrance door)
+  hosts: platon.n39.eu
   become: true
   vars:
     ansible_python_interpreter: /usr/bin/python3
diff --git a/host-plumbum.yml b/host-plumbum.yml
index e0c3433..19875f6 100644
--- a/host-plumbum.yml
+++ b/host-plumbum.yml
@@ -1,5 +1,6 @@
 ---
-- hosts: plumbum.n39.eu
+- name: Setup things on host 'plumbum' (nfs server)
+  hosts: plumbum.n39.eu
   become: true
 
   roles:
diff --git a/host-pottwal.yml b/host-pottwal.yml
index 4f50ab5..2f52a77 100644
--- a/host-pottwal.yml
+++ b/host-pottwal.yml
@@ -1,5 +1,6 @@
 ---
-- hosts: pottwal.n39.eu
+- name: Setup things on host 'pottwal' (the big docker container host)
+  hosts: pottwal.n39.eu
   become: true
 
   roles:
diff --git a/host-radon.yml b/host-radon.yml
index 92131c2..8b2d78d 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -1,5 +1,6 @@
 ---
-- hosts: radon.n39.eu
+- name: Setup things on host 'radon' (services for space automation)
+  hosts: radon.n39.eu
   become: true
 
   vars:
diff --git a/host-tau.yml b/host-tau.yml
index 64c7c56..5281c54 100644
--- a/host-tau.yml
+++ b/host-tau.yml
@@ -1,5 +1,6 @@
 ---
-- hosts: tau.netz39.de
+- name: Setup things on host 'tau' (vserver for wiki etc.)
+  hosts: tau.netz39.de
   become: true
 
   vars:
diff --git a/host-unicorn.yml b/host-unicorn.yml
index a6fe8d5..362b119 100644
--- a/host-unicorn.yml
+++ b/host-unicorn.yml
@@ -1,6 +1,7 @@
 ---
 # this is for a dedicated vm just hosting the unifi controller.
-- hosts: unicorn.n39.eu
+- name: Setup things on host 'unicorn' (vm for ubiquiti unifi controller)
+  hosts: unicorn.n39.eu
   become: true
   vars:
     ansible_python_interpreter: /usr/bin/python3
diff --git a/host-wittgenstein.yml b/host-wittgenstein.yml
index 1676da0..a67c2c3 100644
--- a/host-wittgenstein.yml
+++ b/host-wittgenstein.yml
@@ -1,5 +1,6 @@
 ---
-- hosts: wittgenstein.n39.eu
+- name: Setup things on host 'wittgenstein' (raspberry pi for ampel and spaceapi)
+  hosts: wittgenstein.n39.eu
   become: true
 
   roles:

From bbfff8f4812bd50fd07936fdb0ec3132a7bf6384 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 2 Mar 2025 17:18:08 +0000
Subject: [PATCH 212/259] Update netz39/entities_validation_svc Docker tag to
 v1.0.4

---
 host-krypton.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-krypton.yml b/host-krypton.yml
index e9119ca..d35bc2c 100644
--- a/host-krypton.yml
+++ b/host-krypton.yml
@@ -116,7 +116,7 @@
     - name: Ensure container for entities validation service is running
       docker_container:
         name: entities_validation_svc
-        image: netz39/entities_validation_svc:v1.0.3
+        image: netz39/entities_validation_svc:v1.0.4
         pull: true
         state: started
         detach: yes

From 7553d64b80ff787e93f5615cf3c381b7a5e033af Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 2 Feb 2025 20:26:22 +0000
Subject: [PATCH 213/259] chore(deps): update mysql docker tag to v9

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 5ee7e89..fb0b137 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -29,7 +29,7 @@ hedgedoc_postgres_password: "{{ vault_hedgedoc_postgres_password }}"
 redmine_host_port: 8087
 redmine_domain_name: redmine.n39.eu
 redmine_image: redmine:6.0.3
-redmine_mysql_image: mysql:8.4
+redmine_mysql_image: mysql:9.2
 redmine_database: redmine
 redmine_database_password: "{{ vault_redmine_database_password }}"
 

From 761dd212a847c1a552746b4a2c173553f15b1934 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sat, 22 Feb 2025 06:22:12 +0000
Subject: [PATCH 214/259] Update postgres Docker tag to v16.8

---
 host-pottwal.yml                  | 2 +-
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/host-pottwal.yml b/host-pottwal.yml
index ed32054..e8074d6 100644
--- a/host-pottwal.yml
+++ b/host-pottwal.yml
@@ -119,7 +119,7 @@
     - name: Ensure shlink database container is running
       docker_container:
         name: shlinkdb
-        image: postgres:16.4-alpine
+        image: postgres:16.8-alpine
         pull: true
         state: started
         restart_policy: unless-stopped
diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index fb0b137..0bc87a4 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -23,7 +23,7 @@ shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 hedgedoc_host_port: 8084
 hedgedoc_domain_name: pad.n39.eu
 hedgedoc_image: quay.io/hedgedoc/hedgedoc:1.10.2
-hedgedoc_db_image: postgres:16.4-alpine
+hedgedoc_db_image: postgres:16.8-alpine
 hedgedoc_postgres_password: "{{ vault_hedgedoc_postgres_password }}"
 
 redmine_host_port: 8087

From eef2d8b4fb62888eedaef71c74a80bdb880f3e53 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 5 Mar 2025 00:18:07 +0000
Subject: [PATCH 215/259] Update mrtux/grafana-screenshot Docker tag to v0.1.3

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index 4fd6c4f..80bb665 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -212,7 +212,7 @@
     - name: Setup docker container for Grafana Screenshots
       docker_container:
         name: grafana-screenshot
-        image: mrtux/grafana-screenshot:0.1.1
+        image: mrtux/grafana-screenshot:0.1.3
         pull: true
         restart_policy: unless-stopped
         detach: yes

From 32bcc7e70b112873fd303e1e561f9a501a246d8e Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 5 Mar 2025 10:18:01 +0000
Subject: [PATCH 216/259] Update dependency netz39.host_docker to v0.5.0

---
 requirements.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/requirements.yml b/requirements.yml
index ab7caae..d6dd452 100644
--- a/requirements.yml
+++ b/requirements.yml
@@ -18,7 +18,7 @@ roles:
     version: v0.2.1
   - name: netz39.host_docker
     src: git+https://github.com/netz39/ansible-role-host-docker.git
-    version: v0.4.0
+    version: v0.5.0
 
 collections:
   - name: community.grafana

From dc6943354fcc3d38d1eeb83d62be37ac06b5e054 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Wed, 5 Mar 2025 12:00:46 +0100
Subject: [PATCH 217/259] Adjust variable docker_image_prune to change in
 netz39.host_docker 0.5.0

---
 group_vars/docker_host/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/group_vars/docker_host/vars.yml b/group_vars/docker_host/vars.yml
index 5be6933..0a27306 100644
--- a/group_vars/docker_host/vars.yml
+++ b/group_vars/docker_host/vars.yml
@@ -1,3 +1,3 @@
 ---
 docker_data_root: "/srv/docker"
-docker_cron_image_prune: true
+docker_image_prune: true

From 289ff674f947f3ce6ba8065521bedc8db94d7b3d Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Wed, 5 Mar 2025 12:15:22 +0100
Subject: [PATCH 218/259] Limit telegraf role to hosts with supporting arch

Temporary fix for https://github.com/LeSpocky/ansible-role-telegraf-docker-in-docker/issues/17
---
 group-docker_host.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/group-docker_host.yml b/group-docker_host.yml
index 08cfb2c..c113c11 100644
--- a/group-docker_host.yml
+++ b/group-docker_host.yml
@@ -10,6 +10,7 @@
 
   roles:
     - role: lespocky.telegraf_docker_in_docker
+      when: (ansible_architecture == "x86_64")
       vars:
         tdid_conf_dir: "/etc/telegraf"
         tdid_influxdb_org: "{{ influxdb_org }}"

From fca9c9ea3b86942fcb538eda27a10670f306e9ee Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Wed, 5 Mar 2025 12:16:25 +0100
Subject: [PATCH 219/259] Add wittgenstein to docker group

---
 host-wittgenstein.yml | 4 ----
 inventory.yml         | 1 +
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/host-wittgenstein.yml b/host-wittgenstein.yml
index 1676da0..0ed1217 100644
--- a/host-wittgenstein.yml
+++ b/host-wittgenstein.yml
@@ -3,10 +3,6 @@
   become: true
 
   roles:
-    - role: netz39.host_docker
-      vars:
-        docker_data_root: "/srv/docker"
-        docker_cron_image_prune: true
     - role: apache
     - role: apache_letsencrypt  # Uses configuration from dehydrated setup
     - role: 24367dfa.dehydrated
diff --git a/inventory.yml b/inventory.yml
index 76a969d..9220b95 100644
--- a/inventory.yml
+++ b/inventory.yml
@@ -30,6 +30,7 @@ all:
         radon.n39.eu:
         tau.netz39.de:
         unicorn.n39.eu:
+        wittgenstein.n39.eu:
     proxmox:
       hosts:
         holmium.n39.eu:

From 856253de981dc7fdf57db5aa9dc48258f9b9e7ac Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 6 Mar 2025 13:18:03 +0000
Subject: [PATCH 220/259] Update dependency lespocky.telegraf_docker_in_docker
 to v0.2.2

---
 requirements.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/requirements.yml b/requirements.yml
index d6dd452..9569bec 100644
--- a/requirements.yml
+++ b/requirements.yml
@@ -15,7 +15,7 @@ roles:
     src: git+https://github.com/maz3max/ble-keykeeper-role.git
     version: v1.1.0
   - src: lespocky.telegraf_docker_in_docker
-    version: v0.2.1
+    version: v0.2.2
   - name: netz39.host_docker
     src: git+https://github.com/netz39/ansible-role-host-docker.git
     version: v0.5.0

From 7915336812562d41cf5e3a0294337df036557650 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 6 Mar 2025 20:18:10 +0000
Subject: [PATCH 221/259] Update eclipse-mosquitto Docker tag to v2.0.21

---
 host-radon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-radon.yml b/host-radon.yml
index a0a4f9a..25abe17 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -8,7 +8,7 @@
 
     data_dir: "/srv/data"
 
-    mosquitto_image: eclipse-mosquitto:2.0.20
+    mosquitto_image: eclipse-mosquitto:2.0.21
     mosquitto_data: "{{ data_dir }}/mosquitto"
 
     nodered_image: nodered/node-red:3.0.1-1-18

From 2b0e31870d0ad68a4970eca56471ac150608a395 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sat, 8 Mar 2025 22:04:04 +0100
Subject: [PATCH 222/259] :rotating_light: roles: users: Fix linter warnings of
 type 'fqcn'

    fqcn[action-core]: Use FQCN for builtin module actions (shell).
    roles/users/handlers/main.yml:2 Use `ansible.builtin.shell` or `ansible.legacy.shell` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (package).
    roles/users/tasks/main.yml:2 Use `ansible.builtin.package` or `ansible.legacy.package` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (lineinfile).
    roles/users/tasks/main.yml:8 Use `ansible.builtin.lineinfile` or `ansible.legacy.lineinfile` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (user).
    roles/users/tasks/main.yml:16 Use `ansible.builtin.user` or `ansible.legacy.user` instead.

    fqcn[action]: Use FQCN for module actions, such `ansible.posix.authorized_key`.
    roles/users/tasks/main.yml:24 Action `authorized_key` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (user).
    roles/users/tasks/main.yml:34 Use `ansible.builtin.user` or `ansible.legacy.user` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (stat).
    roles/users/tasks/main.yml:42 Use `ansible.builtin.stat` or `ansible.legacy.stat` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (lineinfile).
    roles/users/tasks/main.yml:47 Use `ansible.builtin.lineinfile` or `ansible.legacy.lineinfile` instead.
---
 roles/users/handlers/main.yml |  2 +-
 roles/users/tasks/main.yml    | 14 +++++++-------
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/roles/users/handlers/main.yml b/roles/users/handlers/main.yml
index 372d62a..04184af 100644
--- a/roles/users/handlers/main.yml
+++ b/roles/users/handlers/main.yml
@@ -1,3 +1,3 @@
 ---
 - name: Update aliases
-  shell: which newaliases && newaliases || true
+  ansible.builtin.shell: which newaliases && newaliases || true
diff --git a/roles/users/tasks/main.yml b/roles/users/tasks/main.yml
index 15fa0fc..3291b35 100644
--- a/roles/users/tasks/main.yml
+++ b/roles/users/tasks/main.yml
@@ -1,12 +1,12 @@
 ---
 - name: Ensure sudo is installed
-  package:
+  ansible.builtin.package:
     name:
       - sudo
     state: present
 
 - name: Configure group sudo for sudoers without password
-  lineinfile:
+  ansible.builtin.lineinfile:
     path: /etc/sudoers
     state: present
     regexp: '^%sudo\s'
@@ -14,7 +14,7 @@
     validate: /usr/sbin/visudo -cf %s
 
 - name: Add users | create users' shell and home dir
-  user:
+  ansible.builtin.user:
     name: "{{ item.logname }}"
     shell: /bin/bash
     createhome: yes
@@ -22,7 +22,7 @@
   with_items: "{{ users }}"
 
 - name: Add authorized keys for user
-  authorized_key:
+  ansible.posix.authorized_key:
     user: "{{ item.0.logname }}"
     key: "{{ item.1 }}"
     state: present
@@ -32,7 +32,7 @@
     - skip_missing: true
 
 - name: Place user in sudo group
-  user:
+  ansible.builtin.user:
     name: "{{ item.logname }}"
     groups: [sudo]
     append: yes
@@ -40,12 +40,12 @@
   with_items: "{{ users }}"
 
 - name: Check if /etc/aliases exists
-  stat:
+  ansible.builtin.stat:
     path: /etc/aliases
   register: aliases
 
 - name: Set system email alias
-  lineinfile:
+  ansible.builtin.lineinfile:
     path: /etc/aliases
     state: present
     regexp: "^{{ item.logname }}:"

From cb50012dd3bf04e7099dea449c13a4d48e4e8a36 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sat, 8 Mar 2025 22:12:00 +0100
Subject: [PATCH 223/259] :rotating_light: roles: setup_http_site_proxy: Fix
 fqcn linter warnings

    fqcn[action-core]: Use FQCN for builtin module actions (service).
    roles/setup_http_site_proxy/handlers/main.yml:2 Use `ansible.builtin.service` or `ansible.legacy.service` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (template).
    roles/setup_http_site_proxy/tasks/main.yml:2 Use `ansible.builtin.template` or `ansible.legacy.template` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (command).
    roles/setup_http_site_proxy/tasks/main.yml:9 Use `ansible.builtin.command` or `ansible.legacy.command` instead.
---
 roles/setup_http_site_proxy/handlers/main.yml | 2 +-
 roles/setup_http_site_proxy/tasks/main.yml    | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/roles/setup_http_site_proxy/handlers/main.yml b/roles/setup_http_site_proxy/handlers/main.yml
index db1118f..47e5060 100644
--- a/roles/setup_http_site_proxy/handlers/main.yml
+++ b/roles/setup_http_site_proxy/handlers/main.yml
@@ -1,5 +1,5 @@
 ---
 - name: Restart apache2
-  service:
+  ansible.builtin.service:
     name: apache2
     state: restarted
diff --git a/roles/setup_http_site_proxy/tasks/main.yml b/roles/setup_http_site_proxy/tasks/main.yml
index f644791..c50d016 100644
--- a/roles/setup_http_site_proxy/tasks/main.yml
+++ b/roles/setup_http_site_proxy/tasks/main.yml
@@ -1,13 +1,13 @@
 ---
 - name: Add or update Apache2 site
-  template:
+  ansible.builtin.template:
     src: templates/apache-docker-proxy-site.j2
     dest: /etc/apache2/sites-available/{{ site_name }}.conf
     mode: "0644"
   notify: Restart apache2
 
 - name: Activate Apache2 site
-  command: a2ensite {{ site_name }}
+  ansible.builtin.command: a2ensite {{ site_name }}
   args:
     creates: /etc/apache2/sites-enabled/{{ site_name }}.conf
   notify: Restart apache2

From eeb87d21081536877ab77c595e8eb1fe49250924 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sat, 8 Mar 2025 22:17:23 +0100
Subject: [PATCH 224/259] :rotating_light: roles: setup_http_site_forward: Fix
 fqcn linter warnings

    fqcn[action-core]: Use FQCN for builtin module actions (service).
    roles/setup_http_site_forward/handlers/main.yml:2 Use `ansible.builtin.service` or `ansible.legacy.service` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (template).
    roles/setup_http_site_forward/tasks/main.yml:2 Use `ansible.builtin.template` or `ansible.legacy.template` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (command).
    roles/setup_http_site_forward/tasks/main.yml:8 Use `ansible.builtin.command` or `ansible.legacy.command` instead.
---
 roles/setup_http_site_forward/handlers/main.yml | 2 +-
 roles/setup_http_site_forward/tasks/main.yml    | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/roles/setup_http_site_forward/handlers/main.yml b/roles/setup_http_site_forward/handlers/main.yml
index db1118f..47e5060 100644
--- a/roles/setup_http_site_forward/handlers/main.yml
+++ b/roles/setup_http_site_forward/handlers/main.yml
@@ -1,5 +1,5 @@
 ---
 - name: Restart apache2
-  service:
+  ansible.builtin.service:
     name: apache2
     state: restarted
diff --git a/roles/setup_http_site_forward/tasks/main.yml b/roles/setup_http_site_forward/tasks/main.yml
index ca31f22..7d0dff9 100644
--- a/roles/setup_http_site_forward/tasks/main.yml
+++ b/roles/setup_http_site_forward/tasks/main.yml
@@ -1,12 +1,12 @@
 ---
 - name: Add or update Apache2 site
-  template:
+  ansible.builtin.template:
     src: templates/apache-docker-forward-site.j2
     dest: /etc/apache2/sites-available/{{ site_name }}.conf
   notify: Restart apache2
 
 - name: Activate Apache2 site
-  command: a2ensite {{ site_name }}
+  ansible.builtin.command: a2ensite {{ site_name }}
   args:
     creates: /etc/apache2/sites-enabled/{{ site_name }}.conf
   notify: Restart apache2

From 11e98a4d8e2a2baeee933df01748844e964c5936 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sat, 8 Mar 2025 22:25:28 +0100
Subject: [PATCH 225/259] :rotating_light: roles: nginx_https_ingress: Fix fqcn
 linter warnings

    fqcn[action-core]: Use FQCN for builtin module actions (service).
    roles/nginx_https_ingress/handlers/main.yml:3 Use `ansible.builtin.service` or `ansible.legacy.service` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (apt_key).
    roles/nginx_https_ingress/tasks/main.yml:20 Use `ansible.builtin.apt_key` or `ansible.legacy.apt_key` instead.
---
 roles/nginx_https_ingress/handlers/main.yml | 2 +-
 roles/nginx_https_ingress/tasks/main.yml    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/roles/nginx_https_ingress/handlers/main.yml b/roles/nginx_https_ingress/handlers/main.yml
index 66bf5d2..2a16ea6 100644
--- a/roles/nginx_https_ingress/handlers/main.yml
+++ b/roles/nginx_https_ingress/handlers/main.yml
@@ -1,7 +1,7 @@
 # Handlers für nginx-https-proxy
 ---
 - name: Restart nginx
-  service:
+  ansible.builtin.service:
     name: nginx
     state: restarted
     enabled: yes
diff --git a/roles/nginx_https_ingress/tasks/main.yml b/roles/nginx_https_ingress/tasks/main.yml
index 0eeed5f..e824733 100644
--- a/roles/nginx_https_ingress/tasks/main.yml
+++ b/roles/nginx_https_ingress/tasks/main.yml
@@ -18,7 +18,7 @@
 # for SSL passthrough.
 
 - name: Add nginx apt-key
-  apt_key:
+  ansible.builtin.apt_key:
     url: https://nginx.org/keys/nginx_signing.key
     state: present
 

From 8b54b363924ae44af17f4e1f596b04ba7b2e69ac Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sun, 9 Mar 2025 18:23:17 +0100
Subject: [PATCH 226/259] :rotating_light: roles: cleanuri: Fix fqcn linter
 warnings

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    roles/cleanuri/tasks/main.yml:3 Action `docker_container` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    roles/cleanuri/tasks/main.yml:17 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    roles/cleanuri/tasks/main.yml:25 Action `docker_container` is not FQCN.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    roles/cleanuri/tasks/main.yml:44 Action `docker_container` is not FQCN.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    roles/cleanuri/tasks/main.yml:61 Action `docker_container` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    roles/cleanuri/tasks/main.yml:78 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.
---
 roles/cleanuri/tasks/main.yml | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/roles/cleanuri/tasks/main.yml b/roles/cleanuri/tasks/main.yml
index 9490a6f..33aeb9b 100644
--- a/roles/cleanuri/tasks/main.yml
+++ b/roles/cleanuri/tasks/main.yml
@@ -1,7 +1,7 @@
 # Tasks for the cleanuri role
 ---
 - name: Ensure CleanURI WebUI is running
-  docker_container:
+  community.docker.docker_container:
     name: cleanuri-webui
     image: "{{ cleanuri_image_webui }}"
     pull: true
@@ -15,7 +15,7 @@
       REACT_APP_API_GATEWAY: "https://{{ cleanuri_api_domain }}"
 
 - name: Setup proxy site for the CleanURI WebUI
-  include_role:
+  ansible.builtin.include_role:
     name: setup_http_site_proxy
   vars:
     site_name: "{{ cleanuri_ui_domain }}"
@@ -23,7 +23,7 @@
 
 
 - name: Ensure CleanURI API Gateway is running
-  docker_container:
+  community.docker.docker_container:
     name: cleanuri-apigateway
     image: "{{ cleanuri_image_apigateway }}"
     pull: true
@@ -42,7 +42,7 @@
       GATEWAY_TASK_RK: "{{ cleanuri_amqp_canonizer }}"
 
 - name: Ensure CleanURI Canonizer is running
-  docker_container:
+  community.docker.docker_container:
     name: cleanuri-canonizer
     image: "{{ cleanuri_image_canonizer }}"
     pull: true
@@ -59,7 +59,7 @@
       EXTRACTOR_TASK_RK: "{{ cleanuri_amqp_retrieval }}"
 
 - name: Ensure CleanURI Extractor is running
-  docker_container:
+  community.docker.docker_container:
     name: cleanuri-extractor
     image: "{{ cleanuri_image_extractor }}"
     pull: true
@@ -76,7 +76,7 @@
 
 
 - name: Setup proxy site the CleanURI API Gateway
-  include_role:
+  ansible.builtin.include_role:
     name: setup_http_site_proxy
   vars:
     site_name: "{{ cleanuri_api_domain }}"

From bec6fc20b753e6fd2698a374b6899d687260f1c2 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sun, 9 Mar 2025 18:32:30 +0100
Subject: [PATCH 227/259] :rotating_light: roles: apache: Fix fqcn linter
 warnings

    fqcn[action-core]: Use FQCN for builtin module actions (service).
    roles/apache/handlers/main.yml:3 Use `ansible.builtin.service` or `ansible.legacy.service` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (apt).
    roles/apache/tasks/main.yml:2 Use `ansible.builtin.apt` or `ansible.legacy.apt` instead.

    fqcn[action]: Use FQCN for module actions, such `community.general.apache2_module`.
    roles/apache/tasks/main.yml:8 Action `apache2_module` is not FQCN.
---
 roles/apache/handlers/main.yml | 2 +-
 roles/apache/tasks/main.yml    | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/roles/apache/handlers/main.yml b/roles/apache/handlers/main.yml
index 3f91a65..126d33e 100644
--- a/roles/apache/handlers/main.yml
+++ b/roles/apache/handlers/main.yml
@@ -1,6 +1,6 @@
 # Handlers for role apache
 ---
 - name: Restart apache2
-  service:
+  ansible.builtin.service:
     name: apache2
     state: restarted
diff --git a/roles/apache/tasks/main.yml b/roles/apache/tasks/main.yml
index 9e7a82c..67928af 100644
--- a/roles/apache/tasks/main.yml
+++ b/roles/apache/tasks/main.yml
@@ -1,12 +1,12 @@
 ---
 - name: Ensure Apache2 and modules are installed and up to date
-  apt:
+  ansible.builtin.apt:
     name:
       - apache2
     state: present
 
 - name: Ensure necessary modules are enabled
-  apache2_module:
+  community.general.apache2_module:
     name: "{{ item }}"
     state: present
   with_items:

From 23bc6d7b69a0516334eb55901a4333abd7fb265b Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sun, 9 Mar 2025 18:19:01 +0100
Subject: [PATCH 228/259] :rotating_light: roles: Fix remaining fqcn linter
 warnings

    fqcn[action-core]: Use FQCN for builtin module actions (service).
    roles/apache_letsencrypt/handlers/main.yml:3 Use `ansible.builtin.service` or `ansible.legacy.service` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (apt).
    roles/dd24_dyndns_cron/tasks/main.yml:2 Use `ansible.builtin.apt` or `ansible.legacy.apt` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (apt).
    roles/desec_dyndns_cron/tasks/main.yml:2 Use `ansible.builtin.apt` or `ansible.legacy.apt` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (command).
    roles/nfs_host/handlers/main.yml:2 Use `ansible.builtin.command` or `ansible.legacy.command` instead.
---
 roles/apache_letsencrypt/handlers/main.yml | 2 +-
 roles/dd24_dyndns_cron/tasks/main.yml      | 2 +-
 roles/desec_dyndns_cron/tasks/main.yml     | 2 +-
 roles/nfs_host/handlers/main.yml           | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/roles/apache_letsencrypt/handlers/main.yml b/roles/apache_letsencrypt/handlers/main.yml
index a3c935a..b2cf41c 100644
--- a/roles/apache_letsencrypt/handlers/main.yml
+++ b/roles/apache_letsencrypt/handlers/main.yml
@@ -1,6 +1,6 @@
 # Handlers for role apache_letsencrypt
 ---
 - name: Restart apache2
-  service:
+  ansible.builtin.service:
     name: apache2
     state: restarted
diff --git a/roles/dd24_dyndns_cron/tasks/main.yml b/roles/dd24_dyndns_cron/tasks/main.yml
index 7187267..da32fbd 100644
--- a/roles/dd24_dyndns_cron/tasks/main.yml
+++ b/roles/dd24_dyndns_cron/tasks/main.yml
@@ -1,6 +1,6 @@
 ---
 - name: Make sure cron and curl are installed
-  apt:
+  ansible.builtin.apt:
     name:
       - cron
       - curl
diff --git a/roles/desec_dyndns_cron/tasks/main.yml b/roles/desec_dyndns_cron/tasks/main.yml
index 921b8f6..eb164d0 100644
--- a/roles/desec_dyndns_cron/tasks/main.yml
+++ b/roles/desec_dyndns_cron/tasks/main.yml
@@ -1,6 +1,6 @@
 ---
 - name: Make sure cron and curl are installed
-  apt:
+  ansible.builtin.apt:
     name:
       - cron
       - curl
diff --git a/roles/nfs_host/handlers/main.yml b/roles/nfs_host/handlers/main.yml
index c2a634d..860a11c 100644
--- a/roles/nfs_host/handlers/main.yml
+++ b/roles/nfs_host/handlers/main.yml
@@ -1,3 +1,3 @@
 ---
 - name: Reload nfs
-  command: 'exportfs -ra'
+  ansible.builtin.command: 'exportfs -ra'

From e61a68de53c9478d84e212c01ddd23da09b41911 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sun, 9 Mar 2025 18:34:45 +0100
Subject: [PATCH 229/259] :rotating_light: host: wittgenstein: Fix fqcn linter
 warnings

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-wittgenstein.yml:132 Action `docker_container` is not FQCN.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-wittgenstein.yml:151 Action `docker_container` is not FQCN.
---
 host-wittgenstein.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/host-wittgenstein.yml b/host-wittgenstein.yml
index 878ef29..dd9aae6 100644
--- a/host-wittgenstein.yml
+++ b/host-wittgenstein.yml
@@ -130,7 +130,7 @@
 
     ### Space API
     - name: Setup the SpaceAPI Docker container
-      docker_container:
+      community.docker.docker_container:
         name: spaceapi
         image: "{{ spaceapi_image }}"
         pull: true
@@ -149,7 +149,7 @@
         - spaceapi
 
     - name: Setup the Ampel Controller Docker container
-      docker_container:
+      community.docker.docker_container:
         name: ampelcontroller
         image: "{{ ampelcontroller_image }}"
         pull: true

From 5d1ca7ef9f8ee3235ea5182d36539e8b3b57a49b Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sun, 9 Mar 2025 18:37:00 +0100
Subject: [PATCH 230/259] :rotating_light: host: unicorn: Fix fqcn linter
 warning

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-unicorn.yml:14 Action `docker_container` is not FQCN.
---
 host-unicorn.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host-unicorn.yml b/host-unicorn.yml
index 362b119..374cd32 100644
--- a/host-unicorn.yml
+++ b/host-unicorn.yml
@@ -12,7 +12,7 @@
 
   tasks:
     - name: Setup the docker container for unifi-controller
-      docker_container:
+      community.docker.docker_container:
         name: unifi-controller
         image: jacobalberty/unifi:v9.0.114
         state: started

From 95706d0ad4ed579bec3cf40aca7b193f6bb05aed Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sun, 9 Mar 2025 18:41:04 +0100
Subject: [PATCH 231/259] :rotating_light: host: tau: Fix fqcn linter warnings

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_network`.
    host-tau.yml:28 Action `docker_network` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    host-tau.yml:37 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    host-tau.yml:54 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-tau.yml:61 Action `docker_container` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    host-tau.yml:78 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (file).
    host-tau.yml:94 Use `ansible.builtin.file` or `ansible.legacy.file` instead.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-tau.yml:101 Action `docker_container` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    host-tau.yml:120 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-tau.yml:149 Action `docker_container` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    host-tau.yml:168 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-tau.yml:178 Action `docker_container` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    host-tau.yml:193 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.
---
 host-tau.yml | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/host-tau.yml b/host-tau.yml
index 5281c54..e92b6e4 100644
--- a/host-tau.yml
+++ b/host-tau.yml
@@ -26,7 +26,7 @@
 
   tasks:
     - name: Setup docker network
-      docker_network:
+      community.docker.docker_network:
         name: dockernet
         driver: bridge
         ipam_config:
@@ -35,7 +35,7 @@
         state: present
 
     - name: Setup Dehydrated
-      include_role:
+      ansible.builtin.include_role:
         name: 24367dfa.dehydrated
       vars:
         dehydrated_contact_email: "{{ server_admin }}"
@@ -52,14 +52,14 @@
             deploy_challenge_hook: "/bin/systemctl restart apache2"
 
     - name: Setup proxy site testredmine.netz39.de
-      include_role:
+      ansible.builtin.include_role:
         name: setup_http_site_proxy
       vars:
         site_name: testredmine.netz39.de
         proxy_port: 9004
 
     - name: Setup phpmyadmin
-      docker_container:
+      community.docker.docker_container:
         name: phpmyadmin
         state: started
         image: phpmyadmin:5.2
@@ -76,7 +76,7 @@
           - 9001:80
 
     - name: Setup proxy site mysql.adm.netz39.de
-      include_role:
+      ansible.builtin.include_role:
         name: setup_http_site_proxy
       vars:
         site_name: mysql.adm.netz39.de
@@ -93,13 +93,13 @@
       when: not docker_dir.stat.exists
     - name: Ensure the Docker Registry data directory exists
       # This may not be part of the backup
-      file:
+      ansible.builtin.file:
         path: "{{ data_dir }}/registry/data"
         state: directory
         mode: "0755"
 
     - name: Setup Docker Registry Container
-      docker_container:
+      community.docker.docker_container:
         name: registry
         image: registry:2
         pull: true
@@ -118,7 +118,7 @@
           - "{{ data_dir }}/registry/auth:/auth:rw"
 
     - name: Setup proxy site for the Docker Registry
-      include_role:
+      ansible.builtin.include_role:
         name: setup_http_site_proxy
       vars:
         site_name: "{{ docker_registry_domain }}"
@@ -147,7 +147,7 @@
         - dokuwiki
 
     - name: Setup Dokuwiki Container
-      docker_container:
+      community.docker.docker_container:
         name: dokuwiki
         image: "{{ dokuwiki_image }}"
         pull: true
@@ -166,7 +166,7 @@
         - dokuwiki
 
     - name: Setup proxy site for Dokuwiki
-      include_role:
+      ansible.builtin.include_role:
         name: setup_http_site_proxy
       vars:
         site_name: "{{ dokuwiki_domain }}"
@@ -176,7 +176,7 @@
 
 
     - name: Setup container for secondary FFMD DNS
-      docker_container:
+      community.docker.docker_container:
         name: bind9-md-freifunk-net
         image: ffmd/bind9-md-freifunk-net:v2022122301
         pull: true
@@ -191,7 +191,7 @@
         - ffmd-dns
 
     - name: Setup forwarding for Discord invite
-      include_role:
+      ansible.builtin.include_role:
         name: setup_http_site_forward
       vars:
         site_name: "{{ discord_invite_domain }}"

From 9eedf004a5df167422aa4bb28238ebca48381130 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sun, 9 Mar 2025 18:45:30 +0100
Subject: [PATCH 232/259] :rotating_light: host: radon: Fix fqcn linter
 warnings

    fqcn[action-core]: Use FQCN for builtin module actions (file).
    host-radon.yml:40 Use `ansible.builtin.file` or `ansible.legacy.file` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (template).
    host-radon.yml:52 Use `ansible.builtin.template` or `ansible.legacy.template` instead.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-radon.yml:61 Action `docker_container` is not FQCN.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-radon.yml:91 Action `docker_container` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    host-radon.yml:111 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-radon.yml:132 Action `docker_container` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    host-radon.yml:153 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-radon.yml:162 Action `docker_container` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    host-radon.yml:180 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-radon.yml:188 Action `docker_container` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    host-radon.yml:204 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-radon.yml:213 Action `docker_container` is not FQCN.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-radon.yml:230 Action `docker_container` is not FQCN.
---
 host-radon.yml | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/host-radon.yml b/host-radon.yml
index 25abe17..6131bd4 100644
--- a/host-radon.yml
+++ b/host-radon.yml
@@ -38,7 +38,7 @@
 
   tasks:
     - name: Ensure the mosquitto directories exist
-      file:
+      ansible.builtin.file:
         path: "{{ item }}"
         mode: 0755
         state: directory
@@ -50,7 +50,7 @@
         - mosquitto
 
     - name: Make sure mosquitto config is there
-      template:
+      ansible.builtin.template:
         src: "templates/mosquitto.conf.j2"
         dest: "{{ mosquitto_data }}/config/mosquitto.conf"
         mode: 0644
@@ -59,7 +59,7 @@
         - mosquitto
 
     - name: Ensure mosquitto is running
-      docker_container:
+      community.docker.docker_container:
         name: mosquitto
         image: "{{ mosquitto_image }}"
         pull: true
@@ -89,7 +89,7 @@
       when: not nodered_dir.stat.exists
 
     - name: Ensure nodered is running
-      docker_container:
+      community.docker.docker_container:
         name: nodered
         image: "{{ nodered_image }}"
         pull: true
@@ -109,7 +109,7 @@
         restart_policy: unless-stopped
 
     - name: Setup proxy site nodered.n39.eu
-      include_role:
+      ansible.builtin.include_role:
         name: setup_http_site_proxy
       vars:
         site_name: "nodered.n39.eu"
@@ -130,7 +130,7 @@
         - rabbitmq
 
     - name: Ensure rabbitmq docker container is running
-      docker_container:
+      community.docker.docker_container:
         name: rabbitmq
         image: "{{ rabbitmq_image }}"
         ports:
@@ -151,7 +151,7 @@
         - rabbitmq
 
     - name: Setup proxy site rabbitmq.n39.eu
-      include_role:
+      ansible.builtin.include_role:
         name: setup_http_site_proxy
       vars:
         site_name: "rabbitmq.n39.eu"
@@ -160,7 +160,7 @@
         - rabbitmq
 
     - name: Ensure Power Meter Pulse Gateway for 19i room is running
-      docker_container:
+      community.docker.docker_container:
         name: pwr-meter-pulse-gw-19i
         image: "{{ pwr_meter_pulse_gw_image }}"
         ports:
@@ -178,7 +178,7 @@
         restart_policy: unless-stopped
 
     - name: Setup proxy site pwr-meter-pulse-gw-19i.svc.n39.eu
-      include_role:
+      ansible.builtin.include_role:
         name: setup_http_site_proxy
       vars:
         site_name: "pwr-meter-pulse-gw-19i.svc.n39.eu"
@@ -186,7 +186,7 @@
 
 
     - name: Setup docker container for BrotherQL Web UI printer
-      docker_container:
+      community.docker.docker_container:
         name: brotherql-web
         image: dersimn/brother_ql_web:2.1.9-alpine
         pull: true
@@ -202,7 +202,7 @@
         - labelprinter
 
     - name: Setup proxy site labelprinter.n39.eu
-      include_role:
+      ansible.builtin.include_role:
         name: setup_http_site_proxy
       vars:
         site_name: labelprinter.n39.eu
@@ -211,7 +211,7 @@
         - labelprinter
 
     - name: Setup docker container for Grafana Screenshots
-      docker_container:
+      community.docker.docker_container:
         name: grafana-screenshot
         image: mrtux/grafana-screenshot:0.1.3
         pull: true
@@ -228,7 +228,7 @@
 
   handlers:
     - name: Restart mosquitto container
-      docker_container:
+      community.docker.docker_container:
         name: mosquitto
         state: started
         restart: yes

From d145039dbe9f09ba123ef8f2c48b3bdb6add5798 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sun, 9 Mar 2025 18:52:52 +0100
Subject: [PATCH 233/259] :rotating_light: host: pottwal: Fix fqcn linter
 warnings

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-pottwal.yml:57 Action `docker_container` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    host-pottwal.yml:83 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-pottwal.yml:91 Action `docker_container` is not FQCN.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_network`.
    host-pottwal.yml:104 Action `docker_network` is not FQCN.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-pottwal.yml:120 Action `docker_container` is not FQCN.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-pottwal.yml:140 Action `docker_container` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    host-pottwal.yml:169 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-pottwal.yml:237 Action `docker_container` is not FQCN.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-pottwal.yml:259 Action `docker_container` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    host-pottwal.yml:278 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (file).
    host-pottwal.yml:301 Use `ansible.builtin.file` or `ansible.legacy.file` instead.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_network`.
    host-pottwal.yml:314 Action `docker_network` is not FQCN.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-pottwal.yml:322 Action `docker_container` is not FQCN.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-pottwal.yml:342 Action `docker_container` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    host-pottwal.yml:374 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (file).
    host-pottwal.yml:383 Use `ansible.builtin.file` or `ansible.legacy.file` instead.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-pottwal.yml:393 Action `docker_container` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    host-pottwal.yml:413 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_network`.
    host-pottwal.yml:438 Action `docker_network` is not FQCN.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-pottwal.yml:446 Action `docker_container` is not FQCN.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-pottwal.yml:466 Action `docker_container` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    host-pottwal.yml:492 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (file).
    host-pottwal.yml:501 Use `ansible.builtin.file` or `ansible.legacy.file` instead.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-pottwal.yml:511 Action `docker_container` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    host-pottwal.yml:528 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (file).
    host-pottwal.yml:537 Use `ansible.builtin.file` or `ansible.legacy.file` instead.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-pottwal.yml:554 Action `docker_container` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    host-pottwal.yml:575 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (file).
    host-pottwal.yml:585 Use `ansible.builtin.file` or `ansible.legacy.file` instead.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-pottwal.yml:599 Action `docker_container` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    host-pottwal.yml:619 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (template).
    host-pottwal.yml:629 Use `ansible.builtin.template` or `ansible.legacy.template` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (service).
    host-pottwal.yml:657 Use `ansible.builtin.service` or `ansible.legacy.service` instead.
---
 host-pottwal.yml | 68 ++++++++++++++++++++++++------------------------
 1 file changed, 34 insertions(+), 34 deletions(-)

diff --git a/host-pottwal.yml b/host-pottwal.yml
index 05af3c1..72e3c4e 100644
--- a/host-pottwal.yml
+++ b/host-pottwal.yml
@@ -55,7 +55,7 @@
     # If port 2222 is changed here, it must also be adapted
     # in the forgejo config file (see application volume)!!
     - name: Setup the docker container for forgejo
-      docker_container:
+      community.docker.docker_container:
         name: forgejo
         image: "{{ forgejo_image }}"
         pull: true
@@ -81,7 +81,7 @@
       tags: ["forgejo"]
 
     - name: Setup proxy site "{{ forgejo_domain_name }}"
-      include_role:
+      ansible.builtin.include_role:
         name: setup_http_site_proxy
       vars:
         site_name: "{{ forgejo_domain_name }}"
@@ -89,7 +89,7 @@
       tags: ["forgejo"]
 
     - name: Ensure apt-cacher container is running
-      docker_container:
+      community.docker.docker_container:
         name: apt_cacher_ng
         image: mrtux/apt-cacher-ng:latest
         pull: true
@@ -102,7 +102,7 @@
           TZ: "{{ timezone }}"
 
     - name: Setup docker network
-      docker_network:
+      community.docker.docker_network:
         name: shlinknet
         state: present
         internal: true
@@ -118,7 +118,7 @@
         - shlink
 
     - name: Ensure shlink database container is running
-      docker_container:
+      community.docker.docker_container:
         name: shlinkdb
         image: postgres:16.8-alpine
         pull: true
@@ -138,7 +138,7 @@
         - shlink
 
     - name: Ensure container for shlink is running
-      docker_container:
+      community.docker.docker_container:
         name: shlink
         image: "{{ shlink_image }}"
         pull: true
@@ -167,7 +167,7 @@
         - shlink
 
     - name: Setup proxy site {{ shlink_domain_name }}
-      include_role:
+      ansible.builtin.include_role:
         name: setup_http_site_proxy
       vars:
         site_name: "{{ shlink_domain_name }}"
@@ -235,7 +235,7 @@
         - Restart prosody
 
     - name: Ensure container for prosody XMPP server is running
-      docker_container:
+      community.docker.docker_container:
         name: prosody
         image: "{{ prosody_image }}"
         pull: true
@@ -257,7 +257,7 @@
 
 
     - name: Ensure container for static XMPP website is running
-      docker_container:
+      community.docker.docker_container:
         name: jabber-static-website
         image: "{{ prosody_web_image }}"
         pull: true
@@ -277,7 +277,7 @@
 
     - name: Setup proxy site {{ prosody_domain_name }}
       # point to static website for now
-      include_role:
+      ansible.builtin.include_role:
         name: setup_http_site_proxy
       vars:
         site_name: "{{ prosody_domain_name }}"
@@ -299,7 +299,7 @@
         - hedgedoc
 
     - name: Ensure the hedgedoc directories exist
-      file:
+      ansible.builtin.file:
         path: "{{ item.path }}"
         mode: "{{ item.mode }}"
         state: directory
@@ -312,7 +312,7 @@
         - hedgedoc
 
     - name: Setup docker network
-      docker_network:
+      community.docker.docker_network:
         name: hedgedocnet
         state: present
         internal: true
@@ -320,7 +320,7 @@
         - hedgedoc
 
     - name: Install HedgeDoc database container
-      docker_container:
+      community.docker.docker_container:
         name: hedgedocdb
         image: "{{ hedgedoc_db_image }}"
         pull: true
@@ -340,7 +340,7 @@
         - hedgedoc
 
     - name: Ensure container for hedgedoc is running
-      docker_container:
+      community.docker.docker_container:
         name: hedgedoc
         image: "{{ hedgedoc_image }}"
         pull: true
@@ -372,7 +372,7 @@
         - hedgedoc
 
     - name: Setup proxy site "{{ hedgedoc_domain_name }}"
-      include_role:
+      ansible.builtin.include_role:
         name: setup_http_site_proxy
       vars:
         site_name: "{{ hedgedoc_domain_name }}"
@@ -381,7 +381,7 @@
         - hedgedoc
 
     - name: Ensure the influxdb directories exist
-      file:
+      ansible.builtin.file:
         path: "{{ item }}"
         mode: 0700
         state: directory
@@ -391,7 +391,7 @@
         - "{{ data_dir }}/influxdb/cfg"
 
     - name: Ensure container for influxdb is running
-      docker_container:
+      community.docker.docker_container:
         name: influxdb
         image: "{{ influxdb_image }}"
         pull: true
@@ -411,7 +411,7 @@
           - "{{ data_dir }}/influxdb/cfg:/etc/influxdb2"
 
     - name: Setup proxy site {{ influxdb_domain_name }}
-      include_role:
+      ansible.builtin.include_role:
         name: setup_http_site_proxy
       vars:
         site_name: "{{ influxdb_domain_name }}"
@@ -436,7 +436,7 @@
         - redmine
 
     - name: Setup Redmine docker network
-      docker_network:
+      community.docker.docker_network:
         name: redminenet
         state: present
         internal: true
@@ -444,7 +444,7 @@
         - redmine
 
     - name: Setup Redmine MySQL container
-      docker_container:
+      community.docker.docker_container:
         name: redminedb
         image: "{{ redmine_mysql_image }}"
         pull: true
@@ -464,7 +464,7 @@
         - redmine
 
     - name: Setup Redmine container
-      docker_container:
+      community.docker.docker_container:
         name: redmine
         image: "{{ redmine_image }}"
         pull: true
@@ -490,7 +490,7 @@
         - redmine
 
     - name: Setup proxy site "{{ redmine_domain_name }}"
-      include_role:
+      ansible.builtin.include_role:
         name: setup_http_site_proxy
       vars:
         site_name: "{{ redmine_domain_name }}"
@@ -499,7 +499,7 @@
         - redmine
 
     - name: Ensure the uptime-kuma directories exist
-      file:
+      ansible.builtin.file:
         path: "{{ item }}"
         mode: "0755"
         state: directory
@@ -509,7 +509,7 @@
         - uptimekuma
 
     - name: Ensure container for uptime-kuma is running
-      docker_container:
+      community.docker.docker_container:
         name: uptime-kuma
         image: "{{ uptimekuma_image }}"
         pull: true
@@ -526,7 +526,7 @@
         - uptimekuma
 
     - name: Setup proxy site "{{ uptimekuma_domain_name }}"
-      include_role:
+      ansible.builtin.include_role:
         name: setup_http_site_proxy
       vars:
         site_name: "{{ uptimekuma_domain_name }}"
@@ -535,7 +535,7 @@
         - uptimekuma
 
     - name: Ensure the grafana directories exist
-      file:
+      ansible.builtin.file:
         path: "{{ item.path }}"
         owner: "{{ item.owner | default('root') }}"
         mode: "{{ item.mode }}"
@@ -552,7 +552,7 @@
         - grafana
 
     - name: Ensure container for grafana is running
-      docker_container:
+      community.docker.docker_container:
         name: grafana
         image: "{{ grafana_image }}"
         pull: true
@@ -573,7 +573,7 @@
         - grafana
 
     - name: Setup proxy site "{{ grafana_domain_name }}"
-      include_role:
+      ansible.builtin.include_role:
         name: setup_http_site_proxy
       vars:
         site_name: "{{ grafana_domain_name }}"
@@ -583,7 +583,7 @@
         - grafana
 
     - name: Ensure the homebox directories exist
-      file:
+      ansible.builtin.file:
         path: "{{ item.path }}"
         owner: "{{ item.owner | default('root') }}"
         mode: "{{ item.mode }}"
@@ -597,7 +597,7 @@
         - homebox
 
     - name: Ensure container for homebox is running
-      docker_container:
+      community.docker.docker_container:
         name: homebox
         image: "{{ homebox_image }}"
         pull: true
@@ -617,7 +617,7 @@
         - homebox
 
     - name: Setup proxy site {{ homebox_domain_name }}
-      include_role:
+      ansible.builtin.include_role:
         name: setup_http_site_proxy
       vars:
         site_name: "{{ homebox_domain_name }}"
@@ -627,7 +627,7 @@
         - homebox
 
     - name: Setup proxy site spaceapi.n39.eu
-      template:
+      ansible.builtin.template:
         src: templates/pottwal/spaceapi-apache-site.j2
         dest: /etc/apache2/sites-available/spaceapi.n39.eu.conf
         mode: "0644"
@@ -655,7 +655,7 @@
         restart: yes
 
     - name: Restart apache2
-      service:
+      ansible.builtin.service:
         name: apache2
         state: restarted
 
@@ -663,6 +663,6 @@
       ansible.builtin.shell:
         cmd: service cron reload
     # Use the shell call because the task sometimes has problems finding the service state
-    #  service:
+    #  ansible.builtin.service:
     #    name: cron
     #    state: restarted

From fcd3b9c87bae094f8e000a6524c5812b79006be7 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sun, 9 Mar 2025 18:54:47 +0100
Subject: [PATCH 234/259] :rotating_light: host: platon: Fix fqcn linter
 warnings

    fqcn[action-core]: Use FQCN for builtin module actions (service).
    host-platon.yml:308 Use `ansible.builtin.service` or `ansible.legacy.service` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (service).
    host-platon.yml:314 Use `ansible.builtin.service` or `ansible.legacy.service` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (service).
    host-platon.yml:320 Use `ansible.builtin.service` or `ansible.legacy.service` instead.
---
 host-platon.yml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/host-platon.yml b/host-platon.yml
index fa03f70..21027c4 100644
--- a/host-platon.yml
+++ b/host-platon.yml
@@ -306,19 +306,19 @@
 
   handlers:
     - name: Restart mosquitto service
-      service:
+      ansible.builtin.service:
         name: mosquitto
         state: restarted
         enabled: yes
 
     - name: Restart rsyslog
-      service:
+      ansible.builtin.service:
         name: rsyslog
         state: restarted
         enabled: yes
 
     - name: Restart asterisk
-      service:
+      ansible.builtin.service:
         name: asterisk
         state: restarted
         enabled: yes

From 2b9b1d1c39b08e988af1f9510b6c14c5f152cd85 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sun, 9 Mar 2025 18:57:04 +0100
Subject: [PATCH 235/259] :rotating_light: host: krypton: Fix fqcn linter
 warnings

    fqcn[action-core]: Use FQCN for builtin module actions (file).
    host-krypton.yml:41 Use `ansible.builtin.file` or `ansible.legacy.file` instead.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-krypton.yml:52 Action `docker_container` is not FQCN.

    fqcn[action]: Use FQCN for module actions, such `community.docker.docker_container`.
    host-krypton.yml:117 Action `docker_container` is not FQCN.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    host-krypton.yml:130 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.
---
 host-krypton.yml | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/host-krypton.yml b/host-krypton.yml
index f82daa8..2efdf68 100644
--- a/host-krypton.yml
+++ b/host-krypton.yml
@@ -33,13 +33,13 @@
   tasks:
 
     # - name: Setup dehydrated challenge endpoint for {{ openldap_domain }}
-    #   include_role:
+    #   ansible.builtin.include_role:
     #     name: setup-http-dehydrated
     #   vars:
     #     site_name: "{{ openldap_domain }}"
 
     - name: Ensure openLDAP directories are present.
-      file:
+      ansible.builtin.file:
         path: "{{ item.path }}"
         mode: "0755"
         state: directory
@@ -50,7 +50,7 @@
         - path: "{{ dehydrated_certs_dir }}/{{ openldap_domain }}"
 
     - name: Ensure container for openLDAP is running.
-      docker_container:
+      community.docker.docker_container:
         name: openLDAP
         image: osixia/openldap:1.5.0
         detach: yes
@@ -115,7 +115,7 @@
 
 
     - name: Ensure container for entities validation service is running
-      docker_container:
+      community.docker.docker_container:
         name: entities_validation_svc
         image: netz39/entities_validation_svc:v1.0.4
         pull: true
@@ -128,7 +128,7 @@
           TZ: "{{ timezone }}"
 
     - name: Setup proxy site entities-validation.svc.n39.eu
-      include_role:
+      ansible.builtin.include_role:
         name: setup_http_site_proxy
       vars:
         site_name: entities-validation.svc.n39.eu

From 6f1e80493ade3ef58201483b9a339e6b716af826 Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Sun, 9 Mar 2025 18:59:22 +0100
Subject: [PATCH 236/259] :rotating_light: group: all: Fix fqcn linter warnings

    WARNING  Listing 3 violation(s) that are fatal
    fqcn[action-core]: Use FQCN for builtin module actions (apt).
    group-all.yml:16 Use `ansible.builtin.apt` or `ansible.legacy.apt` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (apt).
    group-all.yml:23 Use `ansible.builtin.apt` or `ansible.legacy.apt` instead.

    fqcn[action-core]: Use FQCN for builtin module actions (include_role).
    group-all.yml:28 Use `ansible.builtin.include_role` or `ansible.legacy.include_role` instead.

    Read documentation for instructions on how to ignore specific rule violations.

                     Rule Violation Summary
     count tag               profile    rule associated tags
         3 fqcn[action-core] production formatting

    Failed after shared profile, 4/5 star rating: 3 failure(s), 0 warning(s) on 135 files.
---
 group-all.yml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/group-all.yml b/group-all.yml
index b99f764..121f582 100644
--- a/group-all.yml
+++ b/group-all.yml
@@ -14,19 +14,19 @@
 
   tasks:
     - name: Update and clean package cache
-      apt:
+      ansible.builtin.apt:
         update_cache: true
         cache_valid_time: 3600
         autoclean: true
       changed_when: false
 
     - name: Ensure unattended-upgrades is installed and up to date
-      apt:
+      ansible.builtin.apt:
         name: unattended-upgrades
         state: present
 
     - name: Setup unattended-upgrades
-      include_role:
+      ansible.builtin.include_role:
         name: hifis.unattended_upgrades
       vars:
         unattended_origins_patterns:

From d1dbda444dc23ff9b12e27376e91968e30be9842 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 11 Mar 2025 17:18:04 +0000
Subject: [PATCH 237/259] chore(deps): update redmine docker tag to v6.0.4

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 0bc87a4..3dda971 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -28,7 +28,7 @@ hedgedoc_postgres_password: "{{ vault_hedgedoc_postgres_password }}"
 
 redmine_host_port: 8087
 redmine_domain_name: redmine.n39.eu
-redmine_image: redmine:6.0.3
+redmine_image: redmine:6.0.4
 redmine_mysql_image: mysql:9.2
 redmine_database: redmine
 redmine_database_password: "{{ vault_redmine_database_password }}"

From 031fe9c06ed924928a65ee55fef14544bc61118e Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Thu, 6 Mar 2025 10:26:08 +0100
Subject: [PATCH 238/259] Add comment to clarify Renovate configuration source

---
 host-pottwal.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/host-pottwal.yml b/host-pottwal.yml
index 05af3c1..4fab96d 100644
--- a/host-pottwal.yml
+++ b/host-pottwal.yml
@@ -638,6 +638,7 @@
       tags:
         - spaceapi
 
+    # Renovate configuration is sourced from `renovate.json` in each repository
     - name: Ensure renovate bot cronjob is present
       ansible.builtin.template:
         src: templates/pottwal/renovate-cron.j2

From b9416d00962856965fa71d430ab7d1f2b06ea3be Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Tue, 4 Mar 2025 23:00:36 +0100
Subject: [PATCH 239/259] Limit renovate/renovate updates to Friday before 1am

This effectively reduces the renovate update PRs to (mostly) once per week.
---
 renovate.json | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/renovate.json b/renovate.json
index b70eae7..7182867 100644
--- a/renovate.json
+++ b/renovate.json
@@ -15,8 +15,9 @@
   ],
   "packageRules": [
     {
+      "matchDatasources": ["docker"],
       "matchPackageNames": ["renovate/renovate"],
-      "schedule": [ "on friday" ]
+      "schedule": [ "before 1am on friday" ]
     }
   ]
 }

From 5a591c414595bf6ee9173e5d2742561dfc1442b2 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Thu, 6 Mar 2025 10:33:30 +0100
Subject: [PATCH 240/259] Allow automerge for renovate/renovate

---
 renovate.json | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/renovate.json b/renovate.json
index 7182867..ec350d4 100644
--- a/renovate.json
+++ b/renovate.json
@@ -17,7 +17,8 @@
     {
       "matchDatasources": ["docker"],
       "matchPackageNames": ["renovate/renovate"],
-      "schedule": [ "before 1am on friday" ]
+      "schedule": [ "before 1am on friday" ],
+      "automerge": true
     }
   ]
 }

From e5d1c2ac886fd7218dac7002ead3cacf2c21a43e Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Wed, 12 Mar 2025 13:18:06 +0000
Subject: [PATCH 241/259] chore(deps): update renovate/renovate docker tag to
 v39.198.1

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 3dda971..e3d7798 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:39.180.2
+renovate_image: renovate/renovate:39.198.1
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From 28d80515b2ac46fb4f21e3553106b53134e7e23a Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Wed, 12 Mar 2025 18:25:05 +0100
Subject: [PATCH 242/259] :arrow_up: requirements: Migrate unattended-upgrades

The role was moved into a collection.

Link: https://github.com/hifis-net/ansible-collection-toolkit#looking-for-the-unattended_upgrades-role
Link: https://github.com/hifis-net/ansible-collection-toolkit/releases/tag/v4.0.0
Link: https://github.com/hifis-net/ansible-collection-toolkit/issues/165
---
 group-all.yml    | 2 +-
 requirements.yml | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/group-all.yml b/group-all.yml
index 121f582..8d06a78 100644
--- a/group-all.yml
+++ b/group-all.yml
@@ -27,7 +27,7 @@
 
     - name: Setup unattended-upgrades
       ansible.builtin.include_role:
-        name: hifis.unattended_upgrades
+        name: hifis.toolkit.unattended_upgrades
       vars:
         unattended_origins_patterns:
           - "origin=*"
diff --git a/requirements.yml b/requirements.yml
index 9569bec..b5d6c89 100644
--- a/requirements.yml
+++ b/requirements.yml
@@ -1,7 +1,5 @@
 ---
 roles:
-  - src: hifis.unattended_upgrades
-    version: v3.2.1
   - name: adriagalin.timezone
     src: git+https://github.com/adriagalin/ansible.timezone.git
     version: 4.0.0
@@ -23,3 +21,6 @@ roles:
 collections:
   - name: community.grafana
     version: 2.1.0
+  # for role 'hifis.toolkit.unattended_upgrades'
+  - name: hifis.toolkit
+    version: 5.3.0

From 7eebfd5d6167a3c4c45c053d0393682ac579dcac Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Fri, 14 Mar 2025 08:50:56 +0100
Subject: [PATCH 243/259] :pencil2: host: tau: Fix misleading task name

Task here is to check the auth dir, not the data dir, that's a different
one.  Rename the used variable while at it.

Fixes: f539a42024a4 ("Add a docker registry")
---
 host-tau.yml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/host-tau.yml b/host-tau.yml
index e92b6e4..e204b4d 100644
--- a/host-tau.yml
+++ b/host-tau.yml
@@ -86,11 +86,11 @@
     - name: Check if Docker Registry auth dir exists
       ansible.builtin.stat:
         path: "{{ data_dir }}/registry/auth"
-      register: docker_dir
-    - name: Fail if docker registry data dir does not exist
+      register: docker_registry_auth_dir
+    - name: Fail if Docker Registry auth dir does not exist
       ansible.builtin.fail:
         msg: "Docker Registry auth dir is missing, please restore from the backup!"
-      when: not docker_dir.stat.exists
+      when: not docker_registry_auth_dir.stat.exists
     - name: Ensure the Docker Registry data directory exists
       # This may not be part of the backup
       ansible.builtin.file:

From b05df7aa1d327979b7e4d18e71be62b66938cf09 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Mon, 17 Mar 2025 08:18:07 +0000
Subject: [PATCH 244/259] Update renovate/renovate Docker tag to v39.206.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index e3d7798..f3b9815 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:39.198.1
+renovate_image: renovate/renovate:39.206.0
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From 725fa1d07408cfe678cd6ba539947b25bed23e2d Mon Sep 17 00:00:00 2001
From: Alexander Dahl <alex@netz39.de>
Date: Wed, 19 Mar 2025 22:00:12 +0100
Subject: [PATCH 245/259] :pencil2: host: pottwal: Fix misleading task name

Looks like a copy'n'paste mistake.  Improve the other task name while at
it.

Fixes: 88e14f7ca699 (":ok_hand: pottwal: Move prosody config to /etc")
---
 host-pottwal.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/host-pottwal.yml b/host-pottwal.yml
index beb23b5..c6b97ad 100644
--- a/host-pottwal.yml
+++ b/host-pottwal.yml
@@ -184,7 +184,7 @@
         msg: "prosody data dir is missing, please restore from the backup!"
       when: not prosody_dir.stat.exists
 
-    - name: Ensure prosody config dir exists
+    - name: Ensure prosody main config dir exists
       ansible.builtin.file:
         path: "{{ prosody_config_dir }}"
         state: directory
@@ -204,7 +204,7 @@
         state: directory
         mode: 0755
 
-    - name: Ensure prosody certs dir exists
+    - name: Ensure prosody conf.d dir exists
       ansible.builtin.file:
         path: "{{ prosody_config_dir }}/conf.d"
         state: directory

From cdc1d52a383dd4fe4f17f5c39d36dcef623766ee Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Thu, 20 Mar 2025 09:18:06 +0000
Subject: [PATCH 246/259] Update shlinkio/shlink Docker tag to v4.4.6

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index f3b9815..d164b69 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -16,7 +16,7 @@ forgejo_image: codeberg.org/forgejo/forgejo:10.0.1
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu
-shlink_image: shlinkio/shlink:4.4.5
+shlink_image: shlinkio/shlink:4.4.6
 shlink_initial_api_key: "{{ vault_shlink_initial_api_key }}"
 shlink_postgres_password: "{{ vault_shlink_postgres_password }}"
 

From 1135385fe6e7cad14261f1dcc7014ad15dc460c3 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 21 Mar 2025 13:18:04 +0000
Subject: [PATCH 247/259] Update codeberg.org/forgejo/forgejo Docker tag to
 v10.0.2

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index d164b69..3841d41 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -12,7 +12,7 @@ cleanuri_amqp_vhost: "/cleanuri"
 forgejo_host_port: 9091
 forgejo_ssh_port: 2222
 forgejo_domain_name: git.n39.eu
-forgejo_image: codeberg.org/forgejo/forgejo:10.0.1
+forgejo_image: codeberg.org/forgejo/forgejo:10.0.2
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu

From 5a414892462eaf6dc71833bb0c1032fe414b799f Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 21 Mar 2025 13:18:14 +0000
Subject: [PATCH 248/259] Update renovate/renovate Docker tag to v39.211.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 3841d41..306aed4 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:39.206.0
+renovate_image: renovate/renovate:39.211.0
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"

From 4c467865e7d3b9c353ec9b5c6d275129c01a6f32 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 23 Mar 2025 09:18:06 +0000
Subject: [PATCH 249/259] Update codeberg.org/forgejo/forgejo Docker tag to
 v10.0.3

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 306aed4..4190722 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -12,7 +12,7 @@ cleanuri_amqp_vhost: "/cleanuri"
 forgejo_host_port: 9091
 forgejo_ssh_port: 2222
 forgejo_domain_name: git.n39.eu
-forgejo_image: codeberg.org/forgejo/forgejo:10.0.2
+forgejo_image: codeberg.org/forgejo/forgejo:10.0.3
 
 shlink_host_port: 8083
 shlink_domain_name: sl.n39.eu

From b1b480f415cd89e1dc2c87b01dce433bc1f3f76b Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 23 Mar 2025 20:23:14 +0000
Subject: [PATCH 250/259] Update dependency 24367dfa.dehydrated to v2.1.0

---
 requirements.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/requirements.yml b/requirements.yml
index 9569bec..f905eec 100644
--- a/requirements.yml
+++ b/requirements.yml
@@ -7,7 +7,7 @@ roles:
     version: 4.0.0
   - name: 24367dfa.dehydrated
     src: git+https://github.com/24367dfa/ansible-role-dehydrated.git
-    version: 2.0.0
+    version: 2.1.0
   - name: penguineer.dehydrated_cron
     src: https://github.com/penguineer/ansible-role-dehydrated_cron.git
     version: v1.1.0

From 94757d97855b07998fafab9c2ca9b1655e1af3b0 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Sun, 23 Mar 2025 20:24:03 +0000
Subject: [PATCH 251/259] Update netz39/ampel-controller Docker tag to v0.2.0

---
 host_vars/wittgenstein.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/wittgenstein.n39.eu/vars.yml b/host_vars/wittgenstein.n39.eu/vars.yml
index 6bca558..2cebfa5 100644
--- a/host_vars/wittgenstein.n39.eu/vars.yml
+++ b/host_vars/wittgenstein.n39.eu/vars.yml
@@ -11,7 +11,7 @@ spaceapi_image: netz39/spaceapi-service:0.1.1
 spaceapi_topic_status: "Netz39/SpaceAPI/isOpen"
 spaceapi_topic_lastchange: "Netz39/SpaceAPI/lastchange"
 
-ampelcontroller_image: netz39/ampel-controller:0.1.0
+ampelcontroller_image: netz39/ampel-controller:0.2.0
 topic_lever_state: "Netz39/Things/StatusSwitch/Lever/State"
 topic_door_events: "Netz39/Things/Door/Events"
 topic_traffic_light: "Netz39/Things/Ampel/Light"

From 82523e8bcd7dd697b312d972e3982b17d19b85e5 Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Tue, 25 Mar 2025 21:18:14 +0000
Subject: [PATCH 252/259] Update grafana/grafana Docker tag to v11.6.0

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index 4190722..d148293 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -52,7 +52,7 @@ uptimekuma_image: louislam/uptime-kuma:1.23.16
 
 grafana_host_port: 8089
 grafana_domain_name: grafana.n39.eu
-grafana_image: grafana/grafana:11.5.2
+grafana_image: grafana/grafana:11.6.0
 grafana_admin_password: "{{ vault_grafana_admin_password }}"
 
 homebox_host_port: 8092

From 640596f73dc589f1b9cec23bdcc8edad6d159727 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Tue, 18 Mar 2025 14:24:03 +0100
Subject: [PATCH 253/259] :arrow_up: Bumn mrtux/cleanuri-webui to 0.2.2

---
 roles/cleanuri/defaults/main.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/roles/cleanuri/defaults/main.yml b/roles/cleanuri/defaults/main.yml
index c81ad6f..81fbd00 100644
--- a/roles/cleanuri/defaults/main.yml
+++ b/roles/cleanuri/defaults/main.yml
@@ -19,7 +19,7 @@ cleanuri_amqp_canonizer: "canonizer"
 cleanuri_amqp_retrieval: "extractor"
 
 # Docker images
-cleanuri_image_webui: mrtux/cleanuri-webui:0.2.1
+cleanuri_image_webui: mrtux/cleanuri-webui:0.2.2
 cleanuri_image_apigateway: mrtux/cleanuri-apigateway:0.3.1
 cleanuri_image_canonizer: mrtux/cleanuri-canonizer:0.5.0
 cleanuri_image_extractor: mrtux/cleanuri-extractor:0.5.0

From edc9be4d511f2678935bd906881792ceb3750fc0 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Tue, 18 Mar 2025 17:50:51 +0100
Subject: [PATCH 254/259] :arrow_up: Bump cleanURI-apigateway to 0.3.2

---
 roles/cleanuri/defaults/main.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/roles/cleanuri/defaults/main.yml b/roles/cleanuri/defaults/main.yml
index 81fbd00..e31dfb6 100644
--- a/roles/cleanuri/defaults/main.yml
+++ b/roles/cleanuri/defaults/main.yml
@@ -20,6 +20,6 @@ cleanuri_amqp_retrieval: "extractor"
 
 # Docker images
 cleanuri_image_webui: mrtux/cleanuri-webui:0.2.2
-cleanuri_image_apigateway: mrtux/cleanuri-apigateway:0.3.1
+cleanuri_image_apigateway: mrtux/cleanuri-apigateway:0.3.2
 cleanuri_image_canonizer: mrtux/cleanuri-canonizer:0.5.0
 cleanuri_image_extractor: mrtux/cleanuri-extractor:0.5.0

From 390d5015cb37b5c8015653a86705c5b0b2aa599d Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Tue, 18 Mar 2025 17:51:12 +0100
Subject: [PATCH 255/259] :arrow_up: Bump cleanURI-canonizer to 0.5.2

---
 roles/cleanuri/defaults/main.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/roles/cleanuri/defaults/main.yml b/roles/cleanuri/defaults/main.yml
index e31dfb6..03cc065 100644
--- a/roles/cleanuri/defaults/main.yml
+++ b/roles/cleanuri/defaults/main.yml
@@ -21,5 +21,5 @@ cleanuri_amqp_retrieval: "extractor"
 # Docker images
 cleanuri_image_webui: mrtux/cleanuri-webui:0.2.2
 cleanuri_image_apigateway: mrtux/cleanuri-apigateway:0.3.2
-cleanuri_image_canonizer: mrtux/cleanuri-canonizer:0.5.0
+cleanuri_image_canonizer: mrtux/cleanuri-canonizer:0.5.2
 cleanuri_image_extractor: mrtux/cleanuri-extractor:0.5.0

From c564dd5df740847bf852eedb2750ed6b94149b5c Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Tue, 18 Mar 2025 17:51:24 +0100
Subject: [PATCH 256/259] :arrow_up: Bump cleanURI-extractor to 0.5.2

---
 roles/cleanuri/defaults/main.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/roles/cleanuri/defaults/main.yml b/roles/cleanuri/defaults/main.yml
index 03cc065..c39d017 100644
--- a/roles/cleanuri/defaults/main.yml
+++ b/roles/cleanuri/defaults/main.yml
@@ -22,4 +22,4 @@ cleanuri_amqp_retrieval: "extractor"
 cleanuri_image_webui: mrtux/cleanuri-webui:0.2.2
 cleanuri_image_apigateway: mrtux/cleanuri-apigateway:0.3.2
 cleanuri_image_canonizer: mrtux/cleanuri-canonizer:0.5.2
-cleanuri_image_extractor: mrtux/cleanuri-extractor:0.5.0
+cleanuri_image_extractor: mrtux/cleanuri-extractor:0.5.2

From cd7109cac9c4c7cfbfd2e206ac843c164ff55af1 Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Thu, 27 Mar 2025 11:34:37 +0100
Subject: [PATCH 257/259] :arrow_up: Bump cleanuri-canonizer to 0.5.3

---
 roles/cleanuri/defaults/main.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/roles/cleanuri/defaults/main.yml b/roles/cleanuri/defaults/main.yml
index c39d017..3dc4856 100644
--- a/roles/cleanuri/defaults/main.yml
+++ b/roles/cleanuri/defaults/main.yml
@@ -21,5 +21,5 @@ cleanuri_amqp_retrieval: "extractor"
 # Docker images
 cleanuri_image_webui: mrtux/cleanuri-webui:0.2.2
 cleanuri_image_apigateway: mrtux/cleanuri-apigateway:0.3.2
-cleanuri_image_canonizer: mrtux/cleanuri-canonizer:0.5.2
+cleanuri_image_canonizer: mrtux/cleanuri-canonizer:0.5.3
 cleanuri_image_extractor: mrtux/cleanuri-extractor:0.5.2

From 318c646515217d1a32f5cea465df23e49c5eda9c Mon Sep 17 00:00:00 2001
From: Stefan Haun <tux@netz39.de>
Date: Thu, 27 Mar 2025 11:34:52 +0100
Subject: [PATCH 258/259] :arrow_up: Bump cleanuri-extractor to 0.5.3

---
 roles/cleanuri/defaults/main.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/roles/cleanuri/defaults/main.yml b/roles/cleanuri/defaults/main.yml
index 3dc4856..73422b8 100644
--- a/roles/cleanuri/defaults/main.yml
+++ b/roles/cleanuri/defaults/main.yml
@@ -22,4 +22,4 @@ cleanuri_amqp_retrieval: "extractor"
 cleanuri_image_webui: mrtux/cleanuri-webui:0.2.2
 cleanuri_image_apigateway: mrtux/cleanuri-apigateway:0.3.2
 cleanuri_image_canonizer: mrtux/cleanuri-canonizer:0.5.3
-cleanuri_image_extractor: mrtux/cleanuri-extractor:0.5.2
+cleanuri_image_extractor: mrtux/cleanuri-extractor:0.5.3

From 801cd60f4de3f1ef60f8142d8394e0ad49451ccd Mon Sep 17 00:00:00 2001
From: Renovate Bot <accounts+renovatebot@netz39.de>
Date: Fri, 28 Mar 2025 15:18:04 +0000
Subject: [PATCH 259/259] Update renovate/renovate Docker tag to v39.220.1

---
 host_vars/pottwal.n39.eu/vars.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/host_vars/pottwal.n39.eu/vars.yml b/host_vars/pottwal.n39.eu/vars.yml
index d148293..854fb67 100644
--- a/host_vars/pottwal.n39.eu/vars.yml
+++ b/host_vars/pottwal.n39.eu/vars.yml
@@ -59,7 +59,7 @@ homebox_host_port: 8092
 homebox_domain_name: inventory.n39.eu
 homebox_image: ghcr.io/hay-kot/homebox:v0.10.3
 
-renovate_image: renovate/renovate:39.211.0
+renovate_image: renovate/renovate:39.220.1
 renovate_forgejo_pat: "{{ vault_renovate_forgejo_pat }}"
 renovate_github_pat: "{{ vault_renovate_github_pat }}"
 renovate_git_user: "Renovate Bot <accounts+renovatebot@netz39.de>"