The runner lives on the deployment server, so the deploy job runs
docker compose locally with a temporary registry login.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
CI now builds and pushes the image to the Gitea container registry, links
the package, and the deploy job ships only deploy/docker-compose.yml and an
.env naming the image to /opt/vending-machine-game.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>