This is the short path from nothing to a running application. Open the Application platform, the Applications tab, and select New application.
1. Choose a source
The chooser offers two groups:
- Deploy your own: a GitHub repository, a Public Git URL, or a Docker image.
- Start from something ready: a Template or a Database.
2. Name it and give it an identifier
Every application has two names:
- Name is the label you read in the portal. Up to 60 characters, and you can change it later.
- Identifier is a short slug, 3 to 32 characters of lowercase letters, digits and hyphens. It is globally unique, it becomes the application's hostname on its private network, and it cannot be changed after you create the app. Choose it deliberately.
3. Fill in the source
- GitHub repository: pick the repository from the list, set a Branch, and optionally turn on Deploy on push. You need a GitHub connection first.
- Public Git URL: paste a Repository URL that starts with
https://, and set a Branch. - Docker image: give an Image such as
nginx:1.27. It must be on Docker Hub and must include a tag.
4. Pick a builder
For a source you build from code, choose a builder:
- Detect automatically reads your repository and picks the right tools. This is the default.
- Dockerfile builds the
Dockerfileat the root of your repository. - Under Other builders: Buildpacks, Railpack and Nixpacks.
A Docker image has nothing to build, so it has no builder step.
5. Create, or create and deploy
Two buttons finish the form:
- Create only saves the application without building anything, so you can set variables and resources first.
- Create and deploy saves it and immediately queues the first build.
Set secrets before the first deploy
If your app needs an API key or a database URL to start, choose Create only, add the environment variables, then deploy. Otherwise the first boot may fail for a missing value.
What happens next
A build appears and moves from Queued to Building to Succeeded, with a live build log. On success it becomes a release and the release is deployed. When it is Live, open the Logs tab to watch it run.
By default your app is private. To reach it from a browser, put a Cloud Firewall in front of it.