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.

Terminal
$ curl -sSfL https://deployado.com/cli/install.sh | sh

Supported platforms:

macOS (Intel & Apple Silicon) Linux (x86_64 & ARM64)

Install Options

Install a specific version:

Terminal
$ curl -sSfL https://deployado.com/cli/install.sh | sh -s -- --version 0.3.0

Install to a custom directory:

Terminal
$ 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

Terminal
$ 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.

Terminal
$ 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