lotus-land-story: consolidate service versions in host_vars
Plays keep their own version vars pointing at the map, so tasks and templates stay untouched.

Assisted-by: Claude Opus 5 via Claude Code
change pkqklttxnwuwlllpkwvwmnutukuusxyy
commit bda5006dfd08c6a5d655d0c571df02ea539aff32
author Alpha Chen <alpha@kejadlen.dev>
date
parent ltollyun
diff --git a/host_vars/.gitignore b/host_vars/.gitignore
index e87e0cc..cffc98e 100644
--- a/host_vars/.gitignore
+++ b/host_vars/.gitignore
@@ -1,3 +1,4 @@
 *
 !.gitignore
 !*.sops.yml
+!lotus-land-story.yml
diff --git a/host_vars/lotus-land-story.yml b/host_vars/lotus-land-story.yml
new file mode 100644
index 0000000..b55c6cc
--- /dev/null
+++ b/host_vars/lotus-land-story.yml
@@ -0,0 +1,22 @@
+versions:
+  anubis:           v1.26.2
+  authelia:         4.39.22
+  cadvisor:         0.60.5
+  caddy:            2.11.4 # don't forget to update docker-caddy-tailscale first!
+  calibre_web:      0.6.26-ls383
+  dockhand:         v1.0.46
+  gamja:            caf6e99
+  gitea:            1.26.2
+  gitea_runner:     0.4.1
+  gotosocial:       0.22.1
+  grafana:          12.4.3
+  homebox:          0.25.0
+  ketchup:          20260525-e75f249
+  miniflux:         2.3.3
+  paperless_ngx:    3.1.2
+  quire:            latest # TODO Pin the version once we're not in active development anymore
+  soju:             0.10.1 # remember to update the docker-soju image to bump this
+  vector:           0.58.0
+  victoria_logs:    v1.44.0
+  victoria_metrics: v1.151.0
+  victoria_traces:  v0.9.0
diff --git a/lotus-land-story/authelia.yml b/lotus-land-story/authelia.yml
index be274e3..ce75344 100644
--- a/lotus-land-story/authelia.yml
+++ b/lotus-land-story/authelia.yml
@@ -1,7 +1,7 @@
 - name: Set up Authelia
   hosts: lotus-land-story
   vars:
-    version: 4.39.22
+    version: "{{ versions.authelia }}"
   tasks:
 
     - name: Create directories for volume mounting
diff --git a/lotus-land-story/caddy.yml b/lotus-land-story/caddy.yml
index 203974e..671ca8f 100644
--- a/lotus-land-story/caddy.yml
+++ b/lotus-land-story/caddy.yml
@@ -1,8 +1,7 @@
 - name: Set up Caddy
   hosts: lotus-land-story
   vars:
-    # don't forget to update docker-caddy-tailscale first!
-    version: 2.11.4
+    version: "{{ versions.caddy }}"
   tasks:
 
     - name: Make /mnt/lotus-land-story/caddy
diff --git a/lotus-land-story/calibre-web.yml b/lotus-land-story/calibre-web.yml
index 1cd6055..e561ab7 100644
--- a/lotus-land-story/calibre-web.yml
+++ b/lotus-land-story/calibre-web.yml
@@ -1,7 +1,7 @@
 - name: Set up Calibre-web
   hosts: lotus-land-story
   vars:
-    version: 0.6.26-ls383
+    version: "{{ versions.calibre_web }}"
     volumes:
       /mnt/lotus-land-story/calibre-web/books: /books
       /mnt/lotus-land-story/calibre-web/config: /config
diff --git a/lotus-land-story/dockhand.yml b/lotus-land-story/dockhand.yml
index 8c27086..6c30c9a 100644
--- a/lotus-land-story/dockhand.yml
+++ b/lotus-land-story/dockhand.yml
@@ -1,7 +1,7 @@
 - name: Set up Dockhand
   hosts: lotus-land-story
   vars:
-    version: 1.0.46
+    version: "{{ versions.dockhand }}"
   tasks:
 
     - name: Create data directory for Dockhand
@@ -13,7 +13,7 @@
     - name: Run Dockhand
       community.docker.docker_container:
         name: dockhand
-        image: fnsys/dockhand:v{{ version }}
+        image: fnsys/dockhand:{{ version }}
         restart: true
         volumes:
           - /var/run/docker.sock:/var/run/docker.sock
diff --git a/lotus-land-story/gitea.yml b/lotus-land-story/gitea.yml
index a8f6ef3..bda7476 100644
--- a/lotus-land-story/gitea.yml
+++ b/lotus-land-story/gitea.yml
@@ -3,8 +3,8 @@
 - name: Set up Gitea
   hosts: lotus-land-story
   vars:
-    version: 1.26.2
-    anubis_version: 1.26.2
+    version: "{{ versions.gitea }}"
+    anubis_version: "{{ versions.anubis }}"
   tasks:
 
     - name: Create git user
@@ -47,7 +47,7 @@
       tags: anubis
       community.docker.docker_container:
         name: anubis
-        image: ghcr.io/techarohq/anubis:v{{ anubis_version }}
+        image: ghcr.io/techarohq/anubis:{{ anubis_version }}
         restart: true
         env:
           COOKIE_DOMAIN: kejadlen.dev
@@ -120,7 +120,7 @@
   hosts: lotus-land-story
   tags: gitea-runner
   vars:
-    runner_version: 0.4.1
+    runner_version: "{{ versions.gitea_runner }}"
   tasks:
 
     - name: Make /mnt/lotus-land-story/gitea-runner
diff --git a/lotus-land-story/gotosocial.yml b/lotus-land-story/gotosocial.yml
index a7da090..839c0cc 100644
--- a/lotus-land-story/gotosocial.yml
+++ b/lotus-land-story/gotosocial.yml
@@ -3,7 +3,7 @@
 - name: Set up GoToSocial
   hosts: lotus-land-story
   vars:
-    version: 0.22.1
+    version: "{{ versions.gotosocial }}"
   tasks:
 
     - name: Create working directory
diff --git a/lotus-land-story/grafana.yml b/lotus-land-story/grafana.yml
index 13f69b4..ef86751 100644
--- a/lotus-land-story/grafana.yml
+++ b/lotus-land-story/grafana.yml
@@ -1,7 +1,7 @@
 - name: Set up Grafana
   hosts: lotus-land-story
   vars:
-    version: 12.4.3
+    version: "{{ versions.grafana }}"
   tasks:
 
     - name: Grafana user
diff --git a/lotus-land-story/homebox.yml b/lotus-land-story/homebox.yml
index de1dd80..1c713bb 100644
--- a/lotus-land-story/homebox.yml
+++ b/lotus-land-story/homebox.yml
@@ -1,7 +1,7 @@
 - name: Set up Homebox
   hosts: lotus-land-story
   vars:
-    version: 0.25.0
+    version: "{{ versions.homebox }}"
   tasks:
 
     - name: Create data directory for Homebox
diff --git a/lotus-land-story/irc.yml b/lotus-land-story/irc.yml
index 32dfcd9..f1fe655 100644
--- a/lotus-land-story/irc.yml
+++ b/lotus-land-story/irc.yml
@@ -1,8 +1,8 @@
 - name: Run IRC
   hosts: lotus-land-story
   vars:
-    gamja_version: caf6e99
-    soju_version: 0.10.1 # remember to update the docker-soju image to bump this
+    gamja_version: "{{ versions.gamja }}"
+    soju_version: "{{ versions.soju }}"
   tasks:
 
     - name: Make directories
diff --git a/lotus-land-story/ketchup.yml b/lotus-land-story/ketchup.yml
index de15863..762b7e4 100644
--- a/lotus-land-story/ketchup.yml
+++ b/lotus-land-story/ketchup.yml
@@ -1,7 +1,7 @@
 - name: Set up Ketchup
   hosts: lotus-land-story
   vars:
-    version: 20260525-e75f249
+    version: "{{ versions.ketchup }}"
   tasks:
 
     - name: Create data directory for Ketchup
diff --git a/lotus-land-story/logs.yml b/lotus-land-story/logs.yml
index 9818c7a..e4cee68 100644
--- a/lotus-land-story/logs.yml
+++ b/lotus-land-story/logs.yml
@@ -2,7 +2,7 @@
   tags: victoria-logs
   hosts: lotus-land-story
   vars:
-    version: 1.44.0
+    version: "{{ versions.victoria_logs }}"
   tasks:
 
     - name: Make directories
@@ -22,7 +22,7 @@
       community.docker.docker_container:
         restart: true
         name: victoria-logs
-        image: docker.io/victoriametrics/victoria-logs:v{{ version }}
+        image: docker.io/victoriametrics/victoria-logs:{{ version }}
         command: -storageDataPath=/data -syslog.listenAddr.tcp=:514
         restart_policy: unless-stopped
         ports:
diff --git a/lotus-land-story/metrics.yml b/lotus-land-story/metrics.yml
index e107672..3e89fa1 100644
--- a/lotus-land-story/metrics.yml
+++ b/lotus-land-story/metrics.yml
@@ -1,8 +1,8 @@
 - name: VictoriaMetrics
   hosts: lotus-land-story
   vars:
-    version: v1.151.0
-    cadvisor_version: 0.60.5
+    version: "{{ versions.victoria_metrics }}"
+    cadvisor_version: "{{ versions.cadvisor }}"
   tasks:
 
     - name: Make directories
diff --git a/lotus-land-story/miniflux.yml b/lotus-land-story/miniflux.yml
index e2f03db..e097dda 100644
--- a/lotus-land-story/miniflux.yml
+++ b/lotus-land-story/miniflux.yml
@@ -43,7 +43,7 @@
 - name: Run Miniflux
   hosts: lotus-land-story
   vars:
-    version: 2.3.3
+    version: "{{ versions.miniflux }}"
   tasks:
 
     - name: Get docker network
diff --git a/lotus-land-story/otel.yml b/lotus-land-story/otel.yml
index 459ec41..ae88d04 100644
--- a/lotus-land-story/otel.yml
+++ b/lotus-land-story/otel.yml
@@ -2,7 +2,7 @@
   tags: victoria-traces
   hosts: lotus-land-story
   vars:
-    version: 0.9.0
+    version: "{{ versions.victoria_traces }}"
   tasks:
 
     - name: Make directories
diff --git a/lotus-land-story/paperless-ngx.yml b/lotus-land-story/paperless-ngx.yml
index 521f379..ab614ce 100644
--- a/lotus-land-story/paperless-ngx.yml
+++ b/lotus-land-story/paperless-ngx.yml
@@ -1,7 +1,7 @@
 - name: Set up Paperless-ngx
   hosts: lotus-land-story
   vars:
-    version: 3.1.2
+    version: "{{ versions.paperless_ngx }}"
   tasks:
 
     - name: Create directories for volume mounting
diff --git a/lotus-land-story/quire.yml b/lotus-land-story/quire.yml
index a2cc0d7..d984e21 100644
--- a/lotus-land-story/quire.yml
+++ b/lotus-land-story/quire.yml
@@ -2,8 +2,7 @@
 - name: Set up Quire
   hosts: lotus-land-story
   vars:
-    # TODO Pin the version once we're not in active development anymore
-    version: latest
+    version: "{{ versions.quire }}"
   tasks:
 
     - name: Create quire user
diff --git a/lotus-land-story/templates/systemd/victoria-traces.service b/lotus-land-story/templates/systemd/victoria-traces.service
index c447230..8e5b0fd 100644
--- a/lotus-land-story/templates/systemd/victoria-traces.service
+++ b/lotus-land-story/templates/systemd/victoria-traces.service
@@ -8,11 +8,11 @@ PartOf=docker.service
 Restart=always
 RestartSec=5s
 ExecStartPre=-/usr/bin/docker rm -f victoria-traces
-ExecStartPre=-/usr/bin/docker pull quay.io/victoriametrics/victoria-traces:v{{ version }}
+ExecStartPre=-/usr/bin/docker pull quay.io/victoriametrics/victoria-traces:{{ version }}
 ExecStart=/usr/bin/docker run --rm --name victoria-traces \
   --network lotus_land_story \
   -v /mnt/lotus-land-story/victoria-traces:/data \
-  quay.io/victoriametrics/victoria-traces:v{{ version }} \
+  quay.io/victoriametrics/victoria-traces:{{ version }} \
   -storageDataPath=/data
 ExecStop=/usr/bin/docker stop victoria-traces
 
diff --git a/lotus-land-story/vector.yml b/lotus-land-story/vector.yml
index ba6f3bf..a943fac 100644
--- a/lotus-land-story/vector.yml
+++ b/lotus-land-story/vector.yml
@@ -2,7 +2,7 @@
   tags: vector
   hosts: lotus-land-story
   vars:
-    version: 0.58.0
+    version: "{{ versions.vector }}"
   tasks:
 
     - name: Create Vector config dir