Files
ansible/docs/superpowers/plans/2026-04-01-docker-redeployment.md

2.3 KiB

Docker Service Redeployment Implementation Plan

For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (- [ ]) syntax for tracking.

Goal: Redeploy Docker services on docker-host11 to update Jellyfin to version 10.11 and Gitea to version 1.24-rootless.

Architecture: Use the existing Ansible docker.yaml playbook and docker_host role to update the compose.yaml template on the target host, which triggers handlers to restart and recreate the containers with new images.

Tech Stack: Ansible, Docker, Docker Compose, Jinja2.


Task 1: Verify Host Connectivity

Files:

  • Read: vars/docker.ini

  • Step 1: Run Ansible ping to verify connectivity

Run: ansible -i vars/docker.ini docker_host -m ping Expected: docker-host11 | SUCCESS => {"ping": "pong"}

  • Step 2: Check current running versions (baseline)

Run: ansible -i vars/docker.ini docker_host -m shell -a "docker ps --format '{{.Names}}: {{.Image}}'" Expected: jellyfin: jellyfin/jellyfin:10.10 and gitea: gitea/gitea:1.23-rootless (or currently running versions).

Task 2: Execute Redeployment Playbook

Files:

  • Read: playbooks/docker.yaml

  • Read: vars/group_vars/docker/docker.yaml (already modified with new versions)

  • Step 1: Run the full Docker deployment playbook

Run: ansible-playbook -i vars/docker.ini playbooks/docker.yaml Expected: Playbook completes with changed for the docker_host role (template task) and ok for others.

  • Step 2: Commit changes to the repository
git add vars/group_vars/docker/docker.yaml
git commit -m "chore: update jellyfin to 10.11 and gitea to 1.24-rootless"

Task 3: Verify Post-Deployment State

Files:

  • N/A

  • Step 1: Verify new versions are running

Run: ansible -i vars/docker.ini docker_host -m shell -a "docker ps --format '{{.Names}}: {{.Image}}'" Expected:

  • jellyfin: jellyfin/jellyfin:10.11

  • gitea: gitea/gitea:1.24-rootless

  • Step 2: Verify container health status

Run: ansible -i vars/docker.ini docker_host -m shell -a "docker ps --format '{{.Names}}: {{.Status}}'" Expected: Both containers show Up and (healthy) (if healthchecks are active).