2.0 KiB
2.0 KiB
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
- Host Verification: Confirm accessibility of
docker-host11via Ansible. - Playbook Execution: Run
ansible-playbook -i vars/docker.ini playbooks/docker.yaml. - Template Application: The
docker_hostrole will update/opt/docker/compose/compose.yamlusing thecompose.yaml.j2template. - Trigger Handlers: The
templatetask triggers:Restart dockerRestart compose
- 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).