diff --git a/docs/superpowers/specs/2026-04-01-docker-redeployment-design.md b/docs/superpowers/specs/2026-04-01-docker-redeployment-design.md new file mode 100644 index 0000000..d3d54b1 --- /dev/null +++ b/docs/superpowers/specs/2026-04-01-docker-redeployment-design.md @@ -0,0 +1,40 @@ +# Design Specification: Docker Service Redeployment (Jellyfin & Gitea Updates) + +## 1. Goal +Redeploy Docker services on the `docker-host11` host to apply image version updates: +- **Jellyfin:** `10.10` → `10.11` +- **Gitea:** `1.23-rootless` → `1.24-rootless` + +## 2. Context +The `vars/group_vars/docker/docker.yaml` file has been modified with new image versions. These changes need to be applied via the existing Ansible infrastructure. + +## 3. Implementation Approach: Full Playbook Execution +This approach ensures the entire state of the Docker host matches the defined configuration. + +### 3.1 Targeted Components +- **Inventory:** `vars/docker.ini` +- **Playbook:** `playbooks/docker.yaml` +- **Target Host:** `docker-host11` + +### 3.2 Workflow Details +1. **Host Verification:** Confirm accessibility of `docker-host11` via Ansible. +2. **Playbook Execution:** Run `ansible-playbook -i vars/docker.ini playbooks/docker.yaml`. +3. **Template Application:** The `docker_host` role will update `/opt/docker/compose/compose.yaml` using the `compose.yaml.j2` template. +4. **Trigger Handlers:** The `template` task triggers: + - `Restart docker` + - `Restart compose` +5. **Container Recreation:** Docker Compose will detect the image change, pull the new images, 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`. +- **Criteria 3:** Gitea container is running image `gitea/gitea:1.24-rootless`. + +### Verification Steps +- Run `ansible -i vars/docker.ini docker_host -m shell -a "docker ps --format '{{.Names}}: {{.Image}}'"` to verify running versions. +- Check service availability via HTTP (if accessible). + +## 5. Potential Risks +- **Service Downtime:** Containers will restart during image update. +- **Pull Failures:** Depends on external network connectivity to Docker Hub / registries. +- **Breaking Changes:** Version upgrades may have internal migration steps (standard for Jellyfin/Gitea). diff --git a/vars/group_vars/docker/docker.yaml b/vars/group_vars/docker/docker.yaml index 1184e00..81fd65e 100644 --- a/vars/group_vars/docker/docker.yaml +++ b/vars/group_vars/docker/docker.yaml @@ -11,7 +11,7 @@ services: vm: - docker-host11 container_name: jellyfin - image: jellyfin/jellyfin:10.10 + image: jellyfin/jellyfin:10.11 volumes: - name: "Configuration" internal: /config @@ -41,7 +41,7 @@ services: vm: - docker-host11 container_name: gitea - image: gitea/gitea:1.23-rootless + image: gitea/gitea:1.24-rootless volumes: - name: "Configuration" internal: /etc/gitea