Files
ansible/docs/superpowers/specs/2026-04-01-docker-redeployment-design.md
2026-04-01 20:55:20 +02:00

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.1010.11
  • Gitea: 1.23-rootless1.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).