CLI
Manage apps from the terminal.
The nodion CLI talks to the same v2 HTTP API as the dashboard. Use it yourself, from CI, or from an agent that can run shell commands.
Install
macOS and Linux:
bashcurl -fsSL https://cli.nodion.net/install.sh | bashWindows (PowerShell):
powershellirm https://cli.nodion.net/install.ps1 | iexThe installer puts nodion in~/.local/bin on Unix or%LocalAppData%\Programs\nodion on Windows, verifies a signed release manifest, and will replace a Classicnodion already on your PATH. Override the directory with NODION_INSTALL_DIR. Rollback to Classic:curl -fsSL https://cli.nodion.com/install.sh | bash.
Windows verification needs Python 3 (python3,python, or py -3).
Sign in
nodion login starts a browser device-code flow. Confirm the code, and the CLI stores a personal API key in~/.config/nodion/config.yml (mode 0600).
bashnodion login
nodion whoamiKeys must start with nodion_ ornodion_proj_. Older nk_ keys are rejected. Create a personal key under Account → Securityif you want to skip the browser flow.
For CI, skip login and pass a token. It is never written to disk:
bashexport NODION_API_TOKEN=nodion_…
# or a project key that survives when someone leaves
export NODION_API_TOKEN=nodion_proj_…nodion logout revokes the personal key fromlogin and deletes the local config. It does not revoke project keys or NODION_API_TOKEN.
Project and app
Most commands need a project and an application. Resolution order:
--project/--appNODION_PROJECT/NODION_APP_IDnodion.yml, searched from the current directory upward- Account default from the dashboard picker (or
nodion projects use)
bashnodion projects list
nodion projects use prj_…
nodion linknodion link writes a nodion.yml in this directory. The file is safe to commit. It only stores ids:
yamlproject: prj_…
app: app_…Quickstart
bashnodion login
nodion projects use prj_…
nodion apps list
nodion link
nodion deploy --waitCreate, delete, deploy, and scale ask for confirmation. In CI pass--yes.
Common commands
bash# Applications
nodion apps list
nodion apps get
nodion apps create --name my-api --region REGION --strategy dockerfile
nodion apps delete APP
# Deployments
nodion deploy --wait
nodion deployments list
nodion deployments get DEPLOYMENT
# Environment
nodion env list
nodion env set FOO=bar
nodion env set SECRET=value --secret
nodion env unset FOO
# Runtime
nodion logs --container web --tail 200
nodion processes list
nodion processes scale PROCESS --replicas 2
# Domains
nodion domains list
nodion domains add www.example.com
nodion domains verify DOMAINapps create strategies aredockerfile, buildpacks, andprebuilt_image. Git is a source, not a strategy: pass--integration, --repo, and--branch when the app should deploy from a repository. See Applications.
nodion logs needs --container (the process name, such as web).
Version and updates
bashnodion version
nodion updatenodion update fetches the signed manifest fromcli.nodion.net, checks the digest, and replaces this binary in place. It refuses package-managed or symlink installs (Homebrew, /usr/bin). Use --force only to downgrade. There is no silent auto-replace.
On an interactive TTY the CLI may print one line pointing atnodion update when a newer release exists (at most once a day, fail-open, no credentials). Disable withNODION_NO_UPDATE_CHECK=1. The check is off in CI and whenever NODION_API_TOKEN is set.
Other commands
bashnodion databases list
nodion volumes list
nodion buckets list
nodion dns list
nodion cdn list
nodion email-domains list
nodion observers list
nodion regionsSame flags as the app commands. Computers, runners, and runner jobs are not in the CLI yet.
JSON and flags
Every list and get command accepts --output json:
bashnodion apps list --output jsonGlobal flags:
--api URL: API origin (defaulthttps://app.nodion.com)--token TOKEN: API key for this invocation only--project ID/--app ID--output table|json--yes: skip confirmation
Environment:
NODION_API: same as--apiNODION_API_TOKEN: overrides the config file, never persistedNODION_PROJECT/NODION_APP_IDNODION_NO_UPDATE_CHECK=1: skip the TTY version hint
The CLI sends X-Nodion-Project like theHTTP API. Interactive request bodies live in the API console.