# 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.