Skip to content

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
GitHub repo -> EasyRunner web host -> podman build -> systemd + Caddy

Use Flow A when you want the easiest path and do not already publish container images from CI.

CI builds image -> registry -> EasyRunner web host pulls -> systemd + Caddy

Use Flow B when you already build images in CI or want the web host to focus on running apps rather than building them.

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.