Install
npx @orbitlab/cli <command>.
Log in
~/.config/orbitlab/config.json, readable only by you. The token expires after 90 days; run orbitlab login again when it does.
- Already have a token? Pipe it in so it stays out of your shell history:
orbitlab login --with-token < token.txt - On a server without a browser:
orbitlab login --no-browserand open the printed link on any device. orbitlab whoamishows the account, organization and token in use.orbitlab logoutrevokes the saved token and removes it from the machine.
In CI, don’t run
orbitlab login. Create a token in Dashboard → Settings → API tokens and expose it as the ORBITLAB_TOKEN environment variable.Choose an organization
Commands act on one organization at a time. By default it’s the first organization you joined.--org, the ORBITLAB_ORG variable, the linked project, then orbitlab orgs switch. A token restricted to one organization always uses that organization.
Link a directory
Link your project directory to its service so you don’t have to repeat the service name:orbitlab link writes .orbitlab/project.json (service and organization ids, no secrets) and adds .orbitlab to .gitignore. It works from any subdirectory. Remove it with orbitlab unlink. Commands also accept a service id, name or domain as an argument or with --service.
Deploy from Git
Order an app, connect its repository, then deploy:orbitlab git connect).
Environment variables
orbitlab restart.
Logs and metrics
Domains and DNS
orbitlab domains import example.com, set the nameservers it prints at your registrar, then run orbitlab domains activate example.com.
Databases
Files and SFTP
Paths are relative to the site root (WordPress, PHP) or to the app’s persistent storage in/app/data.
WordPress
Shared hosting
Billing
--phone, and the provider is detected from the number, or pass --network. Free orders, such as one fully covered by --promo, need no phone number. Card payments are currently unavailable.
Organization and access
Scripting and CI
--jsonprints machine-readable output on stdout. Progress messages go to stderr.- Commands that delete or change something important ask for confirmation. Pass
--yes(-y) in scripts. - Exit codes:
0success,1failure (API error, failed deployment, domain not verified),2invalid usage. orbitlab apicalls any API endpoint with your credentials:orbitlab api /v1/services -F type=app.
.github/workflows/deploy.yml
Global options and environment variables
Command reference
Runorbitlab help for the list and orbitlab <command> --help for all options of a command.