Deployado CLI
Deploy and manage your applications from the command line. Available for macOS and Linux.
Installation
Quick Install (Recommended)
Run this command in your terminal. It auto-detects your operating system and architecture, verifies the SHA-256 checksum, and installs to /usr/local/bin (or ~/.local/bin if that is not writable). Re-run it to upgrade.
$ curl -sSfL https://deployado.com/cli/install.sh | sh
Supported platforms:
Install Options
Install a specific version:
$ curl -sSfL https://deployado.com/cli/install.sh | sh -s -- --version 0.3.0
Install to a custom directory:
$ curl -sSfL https://deployado.com/cli/install.sh | sh -s -- --dir ~/.local/bin
Manual Download
Pre-built archives and checksums are served from deployado.com. The latest version number is at /downloads/cli/latest .
https://deployado.com/downloads/cli/<version>/deployado_<version>_<darwin|linux>_<amd64|arm64>.tar.gz
https://deployado.com/downloads/cli/<version>/checksums.txt
Verify Installation
$ deployado version
Authentication
Log in with your Deployado account. The CLI prints a URL and a short code, opens your browser, and stores the resulting token as a named profile.
$ deployado auth login
Working with several accounts (for example staging and production)? See the profile commands under Authentication & profiles .
Note: The CLI login is independent from API tokens. The MCP server and the REST API use a token created in Settings → API Tokens instead.
Quick Start
# 1. Log in to your account
$ deployado auth login
# 2. Go to your project directory
$ cd my-app
# 3. Launch — detects your stack, creates the app, and deploys
$ deployado launch
# 4. If something looks wrong, run the diagnostic checklist
$ deployado doctor <app-id>
Using the CLI from an AI agent
- Prefer --json where it exists (doctor, releases logs, db query, apps list, apps update, db list, db show, domains list, projects list) and parse the output instead of the tables.
- doctor --json exits with 0 when all checks pass, 1 when a check fails, and 2 when the app cannot be found.
- Run deployado <command> --help to discover every flag; it is always up to date with the installed version.
- Commands that delete or overwrite data ask for confirmation; pass --force (or -f) only when the user has approved it.
- For MCP-capable assistants, the MCP Server exposes the same operations as tools.
Commands
Run
deployado --help
to see all commands, or
deployado <command> --help
for details on a specific command.
Diagnose an app
Start here when an app is broken. doctor runs a fixed checklist and prints a hint for every failing check.
$ deployado doctor <app-id>
Check deployment, latest build, server health, instances, HTTP probe, logs, and env vars
$ deployado doctor <app-id> --watch --interval 10
Re-run the checklist every N seconds during an incident (Ctrl-C to exit)
$ deployado doctor <app-id> --deep
Scan more log lines and use a longer HTTP timeout
$ deployado doctor <app-id> --json
Machine-readable output. Exit code 0 = OK, 1 = a check failed, 2 = app not found
$ deployado ps
Show all running deployments and their status
$ deployado ps <app>
Show detailed status for one app
Deploy & roll back
Ship new code and undo a bad release.
$ deployado launch
Detect your stack, create the app, and trigger its first deploy
$ deployado deploy <app-id>
Trigger a deployment (optionally --branch <name> or --commit <sha>)
$ deployado deploy <app-id> --watch
Follow the deploy: streams build logs, then runtime logs, until healthy or failed
$ deployado deploy <app-id> --watch --no-build-logs --no-runtime-logs
Watch with status updates only (quieter CI output)
$ deployado rollback <app-id>
Roll back to the previous release
$ deployado rollback <app-id> --list
List recent releases with their full release IDs
$ deployado rollback <app-id> --release <release-uuid> --watch
Roll back to a specific release and follow the rollout
$ deployado up --dry-run
Preview a multi-service stack from deployado.yaml; drop --dry-run to apply
Builds & releases
Read the build transcript of any release.
$ deployado releases logs <release-id>
Print the docker build transcript (works while the build is still running)
$ deployado releases logs <release-id> --tail 50
Only print the last N lines
$ deployado releases logs <release-id> --json
Raw payload: logs plus status and timing
Logs, exec & shell
Look inside a running app.
$ deployado logs <app-id>
Show the last 100 lines of runtime logs
$ deployado logs <app-id> -n 500
Show the last N lines
$ deployado logs <app-id> -f
Follow log output
$ deployado exec <app> -- <command>
Run a one-off command in the container and exit
$ deployado ssh <app>
Open an interactive shell in the container
$ deployado ssh <app> -- ls -la /app
Run a single non-interactive command
Apps, projects & domains
Inspect and configure your apps.
$ deployado apps list
List apps (--project <id> to filter, --json)
$ deployado apps show <app-id>
Show details for an app
$ deployado apps update <app-id> --health-check-path /health
Update configuration (also --port, --branch, --auto-deploy, --deploy-gate, --auto-rollback, --read-only-root, ...)
$ deployado apps delete <app-id>
Delete an app (-f skips the prompt)
$ deployado projects list
List projects
$ deployado domains list <app-id>
List an app's domains
Environment variables
Manage runtime and build-time configuration.
$ deployado env list <app-id>
Show all environment variables
$ deployado env set <app-id> KEY=value KEY2=value2
Set one or more variables (--scope build for build-time)
$ deployado env unset <app-id> KEY
Remove an environment variable
$ deployado env import <app-id> .env --dry-run
Preview importing a .env file; drop --dry-run to apply
Databases
db is an alias of database. query and psql --app run on the database server, so you need no local psql or tunnel.
$ deployado db list
List databases
$ deployado db create --name mydb
Create a PostgreSQL database
$ deployado db link <database-id> --to <app-id>
Connect a database to an app (sets DATABASE_URL)
$ deployado db query --app <app> "SELECT count(*) FROM users"
Run one SQL statement and print the result
$ deployado db query --app <app> --json --readonly "SELECT id, email FROM users LIMIT 5"
Rows as a JSON array, in a read-only transaction
$ deployado db psql --app <app>
Interactive SQL session against the app's database (--readonly available)
$ deployado db restore --app <app> --to <release-version|snapshot-id>
Restore the pre-migrate snapshot of a release, or a snapshot by id. Overwrites the database (--no-drop, --force)
$ deployado db import <database-id> --file dump.sql
Import a SQL dump into a database
Authentication & profiles
Credentials are stored as named profiles in ~/.config/deployado/config.json. Precedence: --profile flag, then DEPLOYADO_PROFILE, then the active profile.
$ deployado auth login
Log in through your browser (device code)
$ deployado auth login --profile staging
Log in and save it as a named profile
$ deployado auth list
List saved profiles (the active one is marked with *)
$ deployado auth switch <profile>
Change the active profile
$ deployado auth status
Show the account behind the active profile
$ deployado --profile staging apps list
Run a single command with another profile
$ DEPLOYADO_PROFILE=staging deployado apps list
Select the profile through an environment variable
$ deployado auth logout
Remove the active profile (--all removes every profile)
Need Help?
If you run into any issues, we're here to help.
Contact Support