Skip to content

Projects

A project is a folder for one app or one team: its environments, its deployments and its datastores, together in the dashboard. Every organization starts with a default project, and the project menu at the top of the dashboard switches between them so you can jump between apps without scrolling past each other’s services.

Screenshot of the Projects settings showing a project card with its name, slug, description and colour
Organization
Project (marketing)
Environment (production)
web, worker, postgres
Environment (staging)
web, postgres
Project (api)
Environment (production)
api, valkey

Environments belong to a project, deployments belong to an environment. Shared variables, promotion and the private network all work within an environment; see Environments. A deployment’s project shows in the project menu and on its Overview tab.

  1. Open Settings and go to Projects.

  2. Click New project. Give it a name (for example Marketing site), a slug (marketing) and an optional description and colour.

  3. Click Create project. It appears in the project menu at the top of the dashboard, ready for environments and deployments.

Edit the name, description or colour later from the same card. Remove project deletes an empty project; move or delete its deployments first.

Open the deployment’s Settings tab, find Move to project under Advanced settings, pick the target project and confirm. The deployment keeps its hostname, variables, environment and revision history; only the folder it is filed under changes.

From the terminal:

Terminal window
okctl deploy move <deployment-id> --project <project-id>

To put a copy of a deployment in another environment instead, use okctl deploy copy <deployment-id> --to-environment <environment-id>.

Terminal window
okctl projects list
okctl projects create --name "Marketing site" --slug marketing --description "Public site and its supporting services" --color blue
okctl projects get <project-id>
okctl projects update <project-id> --name "Marketing"
okctl projects delete <project-id>

okctl up --project <id> deploys a new app into a specific project, and okctl deploy create --project <id> is required when creating from a manifest. See the command reference.