Getting started
An account, a project, and your first app running at its own HTTPS address.
1. Get an account
Sign up with your email address and a password of at least twelve characters. An organization is made for you, and you are its owner.
Joining a team that already uses CloudJod? Ask one of its owners or admins for an invitation link instead, and open it: you join their organization with the role they chose for you.
Then turn on two-factor sign-in under Account: scan the code with an authenticator app, enter the six digits it shows, and keep the recovery codes somewhere safe. From then on, signing in asks for a code as well as your password.
2. Find your way around
The menu on the left of the dashboard is the whole product:
| Projects | Your systems, and the apps and databases in each. |
|---|---|
| Develop | Your organization's workspace for building and testing. See Develop. |
| One-click apps | Ready-made software, and your own templates. |
| Databases | Every database, and which apps use it. |
| Clusters | Your own servers, grouped. See Your own servers. |
| Team | People, their roles and areas, invitations and departments. |
| Approvals | Changes waiting for an owner to accept them. |
| VPN devices | Laptops and phones that can reach your private apps. |
| API tokens | Keys for scripts and the command-line tool. |
| Notifications | Where to be told about failed deploys, unhealthy apps and more. |
| Audit log | Who changed what, and when. |
| Settings | The organization's name, plan, usage and invoices, its departments, and access to private GitHub repositories. |
| Account | Your password, two-factor sign-in and signed-in sessions. |
If you belong to more than one organization, choose which one you are working in at the top of the menu.
3. Make a project
A project is one system: the shop, the POS, the HR tool. Open Projects, give it a name under New project, and choose where its apps run. Every organization starts with a project called default, which is fine for trying things out.
4. Create an app
Open the project and press + New app. The form asks for:
| Name | Lowercase letters, digits and hyphens. It becomes part of the address: https://<name>.<organization>.cloudjod.com. |
|---|---|
| Port | The port your program listens on. The app is also given it as the PORT variable, so a program that reads PORT needs no change. |
| Replicas | How many copies to run. Requests are shared between them. |
| CPU and memory | What each copy may use. 250 millicores is a quarter of a processor core. You can change both later. |
| Health check path | A path the platform requests to know the app is ready. Any 2xx or 3xx answer counts. A copy is sent traffic only once it answers. |
5. Deploy your code
The app's Deploy tab offers three ways in. Use whichever fits:
From a Git repository
Choose where the repository is hosted (GitHub, GitLab, Gitea, Forgejo, Bitbucket, or Other for anything that can send an authenticated web request), paste its URL and choose a branch, then press Connect. You are shown a webhook address and a secret, once: add them to the repository's webhook settings. From then on, every push to that branch builds and releases the app. To build straight away, use Build now on the Builds tab.
From your computer
Choose a folder (or a .tar / .tar.gz archive). It is
packed in your browser and uploaded; .git and
node_modules are left out. When the build finishes, release it
from the Releases tab. An upload is never released by itself.
From an image
Name a container image that is already built, such as
ghcr.io/acme/api:1.4. A tag on Docker Hub, ghcr.io, quay.io or
public.ecr.aws is pinned to the exact image it points at when you deploy, so
the release cannot change underneath you later. From any other registry, give
the image by digest: name@sha256:….
Your code does not need a Dockerfile. Without one, CloudJod looks at the repository and builds it as a Go, Ruby, Python, Node or static site project, and the build log says which it chose and why. See Builds.
6. Open it
The app's page shows its state. When it says running, open its address. HTTPS is set up for you; the very first request to a new address can take a few seconds while its certificate is issued.
If it does not start
- Builds shows each build's full output. A failed build changes nothing that was running.
- Logs shows what the app prints, live.
- An app that never becomes ready is usually listening on a different port from the one you gave it, or its health check path does not answer. Both are on its page.
- An app that keeps restarting with nothing in its logs is often out of memory.
cloudjod usage APPshows how much each copy uses, and how often it was stopped for using too much. - Releases lists every release. Roll back to this returns to an earlier one in one step.
Next
- Give the app its settings and secrets: Apps → Settings and secrets.
- Add a database: Databases.
- Use your own domain: Apps → Your own domain.
- Bring your team in: Teams and access.
Next: Apps