From e9e48644564d1991aedb518afd7d4310b2c9d898 Mon Sep 17 00:00:00 2001 From: Tuan-Dat Tran Date: Wed, 1 Apr 2026 21:17:05 +0200 Subject: [PATCH] docs: add design spec for docker service version updates (jellyfin 10.11.7, gitea 1.25.5) --- ...026-04-01-docker-version-updates-design.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 docs/superpowers/specs/2026-04-01-docker-version-updates-design.md diff --git a/docs/superpowers/specs/2026-04-01-docker-version-updates-design.md b/docs/superpowers/specs/2026-04-01-docker-version-updates-design.md new file mode 100644 index 0000000..91eaf0e --- /dev/null +++ b/docs/superpowers/specs/2026-04-01-docker-version-updates-design.md @@ -0,0 +1,38 @@ +# Design Specification: Docker Service Version Updates (Jellyfin 10.11.7 & Gitea 1.25.5) + +## 1. Goal +Redeploy Docker services on the `docker-host11` host to apply specific and latest image version updates: +- **Jellyfin:** `10.11` → `10.11.7` +- **Gitea:** `1.24-rootless` → `1.25.5-rootless` + +## 2. Context +Following the initial redeployment, the user requested further updates to specific versions. These changes will be applied to `vars/group_vars/docker/docker.yaml` and deployed via the `docker.yaml` playbook. + +## 3. Implementation Approach: Full Playbook Execution +This approach ensures the entire state of the Docker host matches the defined configuration, including the new versions. + +### 3.1 Targeted Components +- **Inventory:** `vars/docker.ini` +- **Playbook:** `playbooks/docker.yaml` +- **Target Host:** `docker-host11` + +### 3.2 Workflow Details +1. **Configuration Update:** Update `vars/group_vars/docker/docker.yaml` with the target image versions. +2. **Host Verification:** Confirm accessibility of `docker-host11` via Ansible. +3. **Playbook Execution:** Run `ansible-playbook -i vars/docker.ini playbooks/docker.yaml`. +4. **Template Application:** The `docker_host` role will update `/opt/docker/compose/compose.yaml`. +5. **Container Recreation:** Docker Compose will detect the image change, pull the new images (`10.11.7` and `1.25.5-rootless`), and recreate the containers. + +## 4. Success Criteria & Verification +- **Criteria 1:** Playbook completes without failure. +- **Criteria 2:** Jellyfin container is running image `jellyfin/jellyfin:10.11.7`. +- **Criteria 3:** Gitea container is running image `gitea/gitea:1.25.5-rootless`. + +### Verification Steps +- Run `ansible -i vars/docker.ini docker_host -m shell -a "docker ps --format '{{.Names}}: {{.Image}}'"` to verify running versions. +- Confirm container health status. + +## 5. Potential Risks +- **Service Downtime:** Containers will restart during image update. +- **Database Migrations:** Gitea 1.25 may have database migrations from 1.24. This is handled internally by the Gitea container on startup. +- **Pull Failures:** Depends on external network connectivity.