How It Works
- You Push to a bare repo on the server.
- git post-receive hook triggers hl deploy, passes
--shaand--branch. - Export commit via
git archiveto an ephemeral build context. - Build & push Docker image tags:
:<shortsha>,:<branch>-<shortsha>,:latest. - Optional migrations run in a one‑off container with the new tag.
- Retag & restart: retag
:latestto the new SHA and restart via systemd (Compose under the hood). - Health‑gate: wait until the app is healthy.
Runtime layout (per app)
~/hl/apps/<app>/
compose.yml
compose.<accessory>.yml
.env
hl.yml
pgdata/ ...
systemd: app-<app>.service