qovery.yml to write. Everything below is created in Qovery through the API, and qovery api handles authentication for you.
Before you start
A Qovery account. The first
qovery auth creates one, and the Free plan needs no credit card.A cluster in your organization: your own Kubernetes cluster (install it), a cluster managed by Qovery, or a local one from
qovery demo up (local demo).A repository on GitHub, GitLab or Bitbucket with a
Dockerfile, and the port your app listens on.jq to read IDs from the JSON responses.
Everything else on this page can run unattended.
1. Install the CLI and sign in
qovery auth --headless prints a link to open in a browser. qovery auth status shows whether you are signed in, without printing the token. Other install methods (Homebrew, Windows, pinned releases) are on the CLI page.
qovery context set is interactive. In scripts and agents, pass IDs in the API paths and names with --organization, --project and --environment instead.2. Find your organization and cluster
3. Give Qovery read access to the repository
Skip this step if your organization already has Git access set up (a Git token or the Git provider connected in the Console). Create a token on your Git provider with read access to the repository (see Git repository access for the permissions per provider), put it in an environment variable, then register it in Qovery:type is GITHUB, GITLAB or BITBUCKET. Bitbucket also needs a workspace field. Keep the id from the response in GIT_TOKEN_ID: it is the git_token_id used in step 5.
4. Create a project and an environment
mode is DEVELOPMENT, STAGING or PRODUCTION.
5. Create the application
Save this asapplication.json and change the values to match your repository:
git_repository.urlmust end in.git.ownerandnameare the repository owner and name from that URL.root_pathis the folder that holds theDockerfile, for example/backendin a monorepo.internal_portis the port your app listens on. Use anhttpprobe instead oftcpif the app has a health endpoint.- Set
git_token_idto the id from step 3, or remove the line if your organization uses the Git provider connected in the Console. cpuis in millicores andmemoryin MiB.
qovery api spec prints the same OpenAPI file in the terminal.
6. Deploy
--commit-id latest deploys the newest commit of the branch. --watch follows the deployment until it succeeds or fails.
To deploy several services of the environment at once, use qovery environment deploy with --applications, --containers or --services. See the environment commands.
7. Check it worked
link call returns the public URL of each exposed port. Open it to reach your app.
If the deployment failed, read the logs:
Commands and files that do not exist
Agents often guess these. None of them exist:Next steps
Give an agent a scoped token
Let a coding agent deploy to staging and nothing else.
Add a database
Create a database or a Blueprint and connect it to your app.
Manage it with Terraform
Keep the same setup as code.
Preview environments
One environment per pull request.