Skip to content

Getting started

Deploy from a public Git URL

Deploy any public Git repository on DployHub by pasting its https:// or git@ URL and a branch, then redeploy manually with the Deploy button.

Updated 3 min read

You do not need GitHub to deploy on DployHub. Any public Git repository works, whether it is hosted on GitLab, Bitbucket, Codeberg, a self-hosted Git service or GitHub itself. You paste the URL and a branch, and we clone, build and run it exactly as we do for connected GitHub repositories.

Create an app from a Git URL

  1. 1

    Open New app

    Go to Apps, then New app (/portal/apps/new).

  2. 2

    Choose Public Git URL

    Paste the repository address. Both https:// and git@ URLs are accepted, for example https://gitlab.com/acme/shop.git.

  3. 3

    Enter the branch

    Type the branch to deploy, such as main or production.

  4. 4

    Choose how to build it

    Keep "Figure it out for me" or pick Use my Dockerfile, Node.js, Python or Static website. Set the root folder if the app is in a subfolder.

  5. 5

    Name, size and create

    Name the app, pick resources for live and create it. The first deploy goes live automatically.

Deploying new versions

Git URL apps have no push webhook, so new commits are not picked up on their own. When you want to ship, open the app and press Deploy. We clone the latest commit of the branch, build it and deploy it to staging. Check the staging address, then press Go live to promote that exact image to live without rebuilding.

If you want every successful staging deploy to reach live straight away, turn on auto go-live in the app Settings.

How we build it

Detection looks at the root folder in this order: a Dockerfile, a package.json, Python files (requirements.txt, pyproject.toml or Pipfile) and finally an index.html. The first match decides the build. If nothing matches you will see this message:

text
We couldn't recognise this project. Add a Dockerfile, a package.json (Node), a requirements.txt (Python) or an index.html (static site) to the repository root (or set the root folder).

Fix it by adding one of those files or by setting Folder with your app to where the project actually lives. Read Build settings for the full list of fields you can override.

When to choose another source

  • You want push-to-deploy or a private repository: use GitHub.
  • You already build images in your own CI: use a Docker image.
  • Your code is public and you deploy occasionally: a Git URL is the simplest option.

If a clone or build keeps failing and the logs do not explain why, raise a ticket and attach the failed deployment.

Frequently asked questions

Can I deploy a private repository with a Git URL?

No. Git URL sources must be public. Connect GitHub for private repositories, or deploy a public Docker image.

Do pushes trigger deploys for Git URL apps?

No. There is no webhook for Git URL sources. Press Deploy in the app to build the latest commit of the branch.

Which Git hosts are supported?

Any host that serves a public repository over an https:// or git@ URL.