Quickstart
On this page you create a project, point it at a repository, and get the application running with a public address and HTTPS.
Before you start
- Access to the console at console.zero.nnumbers.com.br and membership in at least one organization.
- A repository on GitHub, GitLab, or Bitbucket with a
Dockerfilein the folder you are going to deploy. - The application must listen on
0.0.0.0, on the port given by the environment'sPORTvariable (default 8080). See How the application runs.
A public repository needs no credentials. For a private repository, enter an access token under Source, in the project, right after creating it — and deploy again if the first deployment cannot fetch the code. See The project source.
Step by step
1. Sign in and pick the organization
Open the console. If you belong to more than one organization, choose which — the organization decides the meaning of everything that follows: projects, addresses, metering, and access.
2. Create the project
Under Projects, click Create project and fill in:
| Field | What to enter |
|---|---|
| Project name | Lowercase letters, numbers, and hyphens. It appears in the public address |
| Domain | The platform domain, or an already active zone of your own |
| Address | Optional. Left blank, the platform composes one from the name |
| Provider | GitHub, GitLab, or Bitbucket. Inferred from the address when it names the host |
| Repository address | The full URL (https://github.com/owner/repo), the SSH address, or owner/repo |
| Branch or tag | Where the first version is deployed from |
| Folder inside the repository | Optional. Left blank, the root. In a monorepo, the folder holding the Dockerfile |
The Production environment is created along with the project. You do not have to create it.
3. Confirm
Click Create and deploy. The deployment starts immediately and the console takes you to the project page.
4. Follow the deployment
A deployment goes through five visible states:
Preparing → Building → Deploying → Verifying → Online
The deployment shows up right away under Deployments, in the Deployment in progress section. View details shows the stages and the platform's narration, live. Once the version is registered, the Deployment's build log has the image builder's output — that is what answers "why did it break" when something goes wrong in the build.
If the application does not become ready, the deployment fails with the reason and the action, and the timeline tells what happened.
5. Open the address
When the state reaches Online, the project's public address answers. It is shown on the project page and under Domains.
Open the address. The deployment shows 3 of 4 steps until the first real request arrives and is answered by the application — your visit is that proof. From then on, 4 of 4 and Receiving traffic. See How far it was confirmed.
What happens next
- Every new deployment creates a new version. The previous one stays in the history, whole.
- The previous version keeps serving until the new one answers. A failed deployment does not take down what was already live.
- You can restore a previous version at any time — it is a pointer switch, not a rebuild.
Common errors
| Symptom | Likely cause | What to do |
|---|---|---|
| The deployment fails at Building | There is no Dockerfile in the deployed folder | Check the "Folder inside the repository" field and open the build log |
| "The application started but did not answer" | The application does not listen on 0.0.0.0 on the port from the PORT variable | Read the port from PORT and listen on 0.0.0.0 |
| "The application stopped right after starting" | Usually a missing environment variable or an unconfigured dependency | Look at the last lines under Logs → Runtime |
| The address is rejected in the form | The address is already reserved by another project | Choose another, or take one of the form's suggestions |
| Repository not found | Private repository with no access token | Enter a token under Source, in the project, and deploy again |
More cases in Common problems.
Next steps
Was this page helpful?
Report a problem on this pageDo not send passwords, keys, tokens, or customer data.