Deploy Flows
EasyRunner supports two deployment flows. Both end the same way: containers running on your web host, managed by systemd, behind Caddy with HTTPS.
flowchart LR
repo[GitHub repo]
ci[CI build]
registry[Container registry]
host[EasyRunner web host]
app[Running app behind Caddy]
repo -->|Flow A: clone + build| host
repo --> ci --> registry -->|Flow B: pull image| host
host --> app
| Concern | Flow A: build on server | Flow B: pull from registry |
|---|---|---|
| Best for | First deployments, solo projects, no CI yet | Teams or apps with CI-built images |
| Image build happens | On the EasyRunner web host | In CI, on your laptop, or elsewhere |
| Repo needed at deploy time | Yes | No, if the image and Compose-format file are already available |
| Server deploy workload | Higher during image build | Lower, mostly image pull and restart |
| Credential needed | GitHub link for repo deploy keys | Registry credentials when pulling private images |
| Compose-format source | .easyrunner/docker-compose-app.yaml in the repo |
Stored on the EasyRunner app with er app update-details --compose-file |
Use Flow A when you want the easiest path and do not already publish container images from CI.
Start simple
If you are not sure which flow to choose, start with Flow A. Move to Flow B when you have CI publishing images reliably.
See Flow A: Deploy from Source and Flow B: Deploy from a Registry.