Skip to content

Deploy from Git

Connect a GitHub repo once, and every push to the connected branch deploys automatically.

Connect GitHub

From the dashboard, open Settings → Git and click Connect GitHub. You'll be redirected to GitHub to install the Dockfly App on your account or organisation. Pick which repos to grant access to — you can change this later.

Granting access to a single repo is fine for getting started. If you maintain multiple repos, install on the whole org and Dockfly will list them all.

Create a service

Inside a project, click Add service → Deploy from Git. Select the repo and branch. Dockfly will:

  • Clone the repo and detect a Nixpacks plan (or your Dockerfile).
  • Build an OCI image and push it to the internal registry.
  • Roll the deploy out behind a health check.
  • Stream logs back to the dashboard in real time.

Auto-deploy on push

By default, every push to the connected branch triggers a new deploy. You can toggle auto-deploy off from the service's Settings tab — useful when you want to control exactly when a deploy goes out.

Manual deploys

With auto-deploy off, open the service and click Deploy to trigger a build from the latest commit on the connected branch. You can also redeploy any previous deploy from the Deployments tab to roll back instantly.

Build settings

Nixpacks (default)

Dockfly uses Nixpacks by default. It detects 30+ languages and frameworks and builds a small, reproducible image. Most apps need no extra configuration.

logs
› Detected nixpacks plan
› providers: node, deno (selected: node)
[1/3] Installing dependencies (pnpm i)
✓ 184 packages installed in 7.2s
[2/3] Running build (pnpm build)
✓ Compiled in 6.1s
[3/3] Packing OCI image
✓ Image ready (38 MB)

Custom Dockerfile

If your repo has a Dockerfile at the root, Dockfly will use it automatically. If your Dockerfile is somewhere else, set the Dockerfile path in the service's build settings.

Monorepo apps

For a monorepo, set the service's Root directory to the package you want to build (for example, packages/api). Dockfly only triggers builds on pushes that touch files inside that path.

Health checks must pass before traffic is shifted. If a deploy fails the health check, the previous version keeps running and you'll see the error in the deploy log.