- Makefile: podman build/push from the committed tree (git archive HEAD),
tagged :<commit> + :latest; PLATFORM defaults to linux/arm64 for emily.
- deploy.sh: push the commit first, refuse a dirty tracked tree or
HEAD != origin/main, then build and deploy that exact commit via
-e image_tag (rollback = an older commit).
- ansible: target emily with no become. The register role writes hops.network
(NetworkName=hops_net) plus the caddy.container.d drop-in; the hops role
installs ~/podman-data/hops and hops.container under systemctl --user with a
podman healthcheck gate; the caddy role appends the site blocks to the shared
Caddyfile and reloads.
- Drop the Docker-era network role, community.docker requirements,
ansible/files templates and docker-compose.yml.
- .containerignore replaces .dockerignore.
- README: Podman build, rootless Quadlet deploy on emily.