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
Open New app
Go to Apps, then New app (/portal/apps/new).
- 2
Choose Public Git URL
Paste the repository address. Both
https://andgit@URLs are accepted, for examplehttps://gitlab.com/acme/shop.git. - 3
Enter the branch
Type the branch to deploy, such as
mainorproduction. - 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
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:
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.
Related articles
- Connect GitHub and deploy a repositoryConnect your GitHub account to DployHub to deploy public or private repositories, pick a branch and get automatic deploys to staging on every push.
- Deploy a public Docker imageRun any public Docker image on DployHub, such as nginx:1.27-alpine or a ghcr.io image, with HTTPS, staging, logs and rollback included out of the box.
- Build settings: build, start, root folder and moreEvery DployHub build setting explained: build type, build and start commands, port, root folder, Dockerfile path and health check path, with examples.
- Deploy your first app on DployHubA step-by-step guide to deploying your first app on DployHub: pick a source, let us detect the build, choose resources and get a live HTTPS address.