Deplexo CLI
Install the Deplexo CLI, sign in, deploy from Git, and read your app's logs from a terminal.
The deplexo command lets you manage apps from your terminal. It uses the user API and is open source under Apache-2.0. You can read the code and report issues in Deplexo/cli.
Install
Section titled “Install”On Linux or macOS:
curl -fsSL https://cli.deplexo.com/install.sh | shOn Windows, use PowerShell:
& ([scriptblock]::Create((Invoke-RestMethod -ErrorAction Stop 'https://cli.deplexo.com/install.ps1')))The installer verifies the download’s SHA-256 checksum and installs to ~/.local/bin on Linux and macOS, or %LOCALAPPDATA%\Deplexo\bin on Windows. These default locations do not need administrator access. Follow the installer’s PATH instructions, then run deplexo --help.
The installer prefers a stable release and falls back to a beta while no stable release exists. Builds target Linux, macOS, and Windows on amd64 and arm64; check the release notes for native testing status on your platform. You can inspect the installer scripts or download an archive directly. See cli.deplexo.com for installation options, including version pinning for CI.
Sign in
Section titled “Sign in”deplexo auth logindeplexo whoamideplexo auth statusOn a local interactive terminal, sign-in opens your browser to approve access. SSH sessions and redirected input use a pairing link and code. Use --device to choose pairing explicitly, or --no-browser to print the instructions without opening a browser. Use --read-only when you only need to inspect apps and logs.
Normal login in the current source requests profile:read app:read app:deploy app:restart app:start app:stop logs:read. Existing sessions need another login to approve added permissions. For an older release that omits start/stop, request them explicitly:
deplexo auth login --scopes "profile:read app:read app:deploy app:restart app:start app:stop logs:read"--scopes accepts spaces or commas, replaces the defaults, and must include profile:read. It cannot be combined with --read-only. Deletion requires explicitly requesting app:delete. See the command and flag reference for every option and release compatibility notes.
Credentials are stored in Linux Secret Service, macOS Keychain, or Windows Credential Manager. On Linux, unlock the keyring before running commands. If a keyring is unavailable, --insecure-storage uses a plaintext credential file restricted to your account. Pass that flag on each command that needs the file. Run deplexo auth logout to sign out.
Choose an app
Section titled “Choose an app”deplexo apps listdeplexo link --app 11111111-1111-4111-8111-111111111111deplexo apps getReplace the example UUID with an app ID from apps list. Linking checks your access and saves the app ID in .deplexo.json in the current directory. Commands use that app unless you pass --app. Run deplexo unlink to remove the link.
Create an app or deploy a change
Section titled “Create an app or deploy a change”To create an app, replace the example repository URL with your own:
deplexo apps create --name my-app --repo https://github.com/example/my-appThe command creates the app and its first deployment, then prints both UUIDs. For a private repository, first connect the Git provider and grant Deplexo access through the dashboard.
Commit deplexo.yaml at the repository root to configure the app type, build, startup command, or web port. The server reads it during creation and redeployment; the CLI does not parse a local YAML file. Explicit YAML fields override matching command-line settings, while omitted fields use the supplied or saved defaults. See the YAML reference for the version 1 format and supported Git providers.
To rebuild an existing linked app:
deplexo deploydeplexo deployments listdeplexo deployments logs 22222222-2222-4222-8222-222222222222Replace the deployment UUID with one returned by deploy or deployments list. deploy rebuilds from the app’s recorded source; Git apps use the latest source. It returns once the server accepts the request, so check the build logs to see whether deployment succeeds.
This command uses the API’s /apps/{id}/restart endpoint and needs app:restart. The CLI does not offer a process-only restart or local directory and ZIP uploads. If an app creation request loses its response, check the dashboard before trying again to avoid creating another app.
Start, stop, or cancel
Section titled “Start, stop, or cancel”For the linked app:
deplexo apps stop --yesdeplexo apps startdeplexo apps getUse --app APP_UUID to select an app explicitly. Stop requires app:stop; start requires app:start and starts an existing stopped container without rebuilding. A queued response is not completion: inspect apps get for the resulting state. Stopping does not cancel an in-progress deployment; use deplexo apps cancel --yes for that. Deletion uses deplexo apps delete --yes and requires the separate app:delete permission.
Read logs
Section titled “Read logs”deplexo logsdeplexo logs --followdeplexo logs --follow --jsonThese commands read runtime logs for the selected app. --follow polls for new lines and stops after 30 minutes by default; set --timeout to change that. Build logs use deplexo deployments logs <deployment-uuid> and return a snapshot.
Use the CLI in scripts
Section titled “Use the CLI in scripts”Create an API key with the required scopes, then store it as DEPLEXO_TOKEN in your CI secret manager. The CLI uses this token before stored credentials and does not save or refresh it. An invalid token fails the command; it does not switch accounts.
deplexo apps list --json --no-inputdeplexo deploy --app 11111111-1111-4111-8111-111111111111 --json --no-inputUse --json for machine-readable results and --no-input to disable prompts. Set DEPLEXO_NO_UPDATE_CHECK=1 to disable automatic update checks. Unset DEPLEXO_TOKEN before signing in or out interactively.
Stopping an app, cancelling a deployment, and deleting an app require --yes. Starting or stopping also requires the corresponding scope. For example, deplexo apps stop --yes stops the selected app; it does not cancel a deployment in progress.
Update and get help
Section titled “Update and get help”deplexo upgrade --checkdeplexo upgradedeplexo --helpdeplexo apps --helpupgrade asks before replacing the executable and verifies the archive checksum and the downloaded executable. Use --yes to skip the prompt. If you installed through a package manager, use that manager to update.
The command reference covers all commands, flags, defaults, permissions, profiles, environment variables, and exit codes. The CLI README also covers building from source.
Get support
Section titled “Get support”Email support@deplexo.com for account-specific questions, or join the Discord community for community help. Include the app UUID, CLI version, and error message; leave out passwords, API keys, tokens, and environment secrets.
The current source includes deplexo support, which prints these links without signing in or using the network. Use deplexo support --json for a machine-readable list. If your installed release does not have the command yet, use the links above.