Deplo

Deploy from Git

Point an app at a repository and let Deplo build, deploy and redeploy it on push.


What it is

Pointing an app at a repository and letting Deplo build it. This is the source most apps use.

  • GitHub has the deepest integration.
  • GitLab, Bitbucket, Gitea and Forgejo work through a token.
  • Any other Git server works through a plain URL.

How it works

The repository is cloned by the agent, on the target server, using a credential the control plane decrypts at that moment. Nothing is cloned onto the control plane.

Deplo then detects the framework, builds an image and brings the stack up.

What the provider gives you depends on how it is connected:

GitHub AppGitLab, Bitbucket, Gitea (Beta)A bare Git URL
Repository pickeryesyesno, you paste the URL
Branch listyesyesno, you type it
Deploy on pushyes, automatic webhookyes, automatic webhookno, use the deploy hook
Pull request previewsyesnono
Credentialshort-lived installation tokena personal access token you store oncethe URL, or a stored token

Deploy one

Start a new app

On the Overview, open Add new, then Application. The wizard's first step is where you pick the source - or Template, to start from the catalogue instead.

Pick the source

Pick the GitHub or Git tile, then Next.

If nothing is connected yet, click Connect GitHub. Deplo creates the GitHub App through GitHub's manifest flow, so there is no client id or private key to copy. Choose which repositories it can see, then pick the repository and the branch.

Check what Deplo read

The last card arrives filled in: the App name from the repository, the framework it recognised, and the Build command and Deploy command your package.json declares. Reset empties a command, which hands the decision back to the builder.

Leave push deploys on

Leave Automatic deployments on unless you want to release by hand.

Deploy

The server, the build method and the watch paths are under Advanced, already answered. Click Deploy.


Change the source later

Settings -> Deployments, the Deploy Source card. You can move an app between repositories, branches and even source types. The app keeps its slug, its domains, its variables and its volumes, so switching from a Docker image to a repository does not start over.

Prop

Type

Saving the source does not deploy. Click Redeploy when you are ready.


Private repositories

Deplo never asks you to paste a key into an app. Credentials live once on the connection, and every app that uses that host reuses them. See Git providers for how each provider connects, what it unlocks, and what to do if a credential breaks.

Limits and gotchas

  • Only a GitHub app can have pull request previews. The settings page is visible for other sources but disabled, with the reason on it.
  • A bare Git URL cannot register a webhook. Deploy on push is not available, and the deploy hook is how you trigger it instead.
  • Watch paths fail open. When a webhook delivery carries no file list, which happens with some tag pushes, the deploy runs rather than being skipped.
  • The branch is the app's, not the repository's. Two apps can track two branches of the same repository, and that is a normal way to run staging.
  • Changing the repository does not clear the volumes. Data written by the old code is still mounted.

If it does not work

  • The repository picker is empty - the GitHub App cannot see it. Use Manage connected apps and grant the repository on GitHub.
  • Authentication failed in the clone step - the stored token expired or was revoked. Settings -> Git, then Test connection.
  • Pushes do not deploy - check the webhook status on Settings -> Deployments, and see Automatic deployments.

See also

Did this page help you?

On this page