Getting started
Deploy your first service with the Otterdeploy CLI.
This guide takes you from nothing to a running service using the
otterdeploy CLI. It assumes you have access to an Otterdeploy
control plane (the dashboard URL you sign in to).
1. Install the CLI
npm install -g @otterdeploy/cli
# or: bun add -g @otterdeploy/cliRuns on Node ≥20 or Bun.
2. Sign in
otterdeploy login https://deploy.example.comThis opens your browser to approve the device — the same flow the gh and
vercel CLIs use. Your token is stored in ~/.config/otterdeploy/config.json
(mode 0600). For CI, set OTTERDEPLOY_URL and OTTERDEPLOY_TOKEN instead
(create a token with otterdeploy tokens create).
If you belong to more than one organization, pick the active one:
otterdeploy org list
otterdeploy org use acme3. Scaffold and deploy
up links (or creates) the project, writes a config file, offers a first
service, and deploys — all in one step:
cd my-app
otterdeploy upPrefer explicit steps? otterdeploy init writes the config,
otterdeploy add service web --image nginx:latest --port 80 adds a resource,
and otterdeploy deploy reconciles it.
4. Watch it converge
Deploy and block until every resource is healthy — non-zero exit on failure, so it works as a CI gate:
otterdeploy deploy --waitStream logs, tail a build, or check deployment history:
otterdeploy logs web
otterdeploy logs web --build
otterdeploy deployments webNext
See the full CLI reference for every command and flag.