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 | bash Windows (PowerShell):
powershellirm https://cli.nodion.net/install.ps1 | iex
The installer puts nodion in
~/.local/bin on Unix or
%LocalAppData%\Programs\nodion on Windows, verifies a
signed release manifest, and will replace a Classic
nodion 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. If you
have no account yet, the same page signs you up (GitHub, Google, or
email). Confirm the code. When email confirmation is required, open
the mail, return to the page, and approve again. The CLI stores a
personal API key in
~/.config/nodion/config.yml (mode 0600).
Agents should follow auth.md and must not print the token.
bashnodion login
nodion whoami
Keys must start with nodion_ or
nodion_proj_. Older nk_ keys are rejected.
Create a personal key under Account → Security
if 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 from
login 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_ID-
nodion.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 link nodion 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 --wait
Create, 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 DOMAIN apps create strategies are
dockerfile, buildpacks, and
prebuilt_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 update nodion update fetches the signed manifest from
cli.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 at
nodion update when a newer release exists (at most once
a day, fail-open, no credentials). Disable with
NODION_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 regions Same flags as the app commands. Sandboxes are not in the CLI yet.
JSON and flags
Every list and get command accepts --output json:
bashnodion apps list --output json Global 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 the
HTTP API. Interactive request bodies live in
the API console.