Skip to content

Deploy from Git

Connect a GitHub repo once, and every push deploys automatically. Pull requests get isolated preview URLs.

Install the GitHub App

From the dashboard, open Settings → Integrations 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 and metrics back to the dashboard.

Auto-deploy on push

By default, the connected branch triggers a deploy on every push. To change this, open the service's Build settings:

yaml
# Auto-deploy on push to these branches
auto_deploy:
  branches: [main, release/*]
  paths:
    include: ["src/**", "package.json"]
    exclude: ["docs/**", "**/*.md"]

Manual deploys

Disable auto-deploy and trigger from the dashboard or CLI:

bash
$ dockfly deploy --service api --commit 7c3a9f2
✓ build queued (eta 45s)
✓ deploy live at https://api.dockfly.app

Pull request previews

Enable Preview deployments on a service to give every open pull request its own URL. Dockfly comments the URL on the PR, runs the build, and tears the preview down when the branch is merged or closed.

Preview environments share the same env vars as the main branch by default. For sensitive secrets (payment keys, etc.), scope them to production only.

Build settings

Nixpacks

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

Custom Dockerfile

If your repo has a Dockerfile at the root, Dockfly will use it instead. To force a path:

yaml
build:
  type: dockerfile
  context: ./packages/api
  file: ./packages/api/Dockerfile

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 deploys on changes inside that path.