Migration guide
Upgrade from the Portabase CLI 26.08.12 or earlier.
This page covers the changes that can break an installation or a script when upgrading from the CLI 26.08.12 or earlier. The old commands are documented in Legacy CLI.
Existing agent and dashboard folders keep working, but the CLI now regenerates docker-compose.yml. Manual edits to that file are lost. Follow the upgrade steps.
Renamed commands
| Before | Now |
|---|---|
portabase agent NAME | portabase agent create NAME |
portabase dashboard NAME | portabase dashboard create NAME |
portabase db add <PATH> | portabase agent db add <PATH> |
portabase db list <PATH> | portabase agent db list <PATH> |
portabase db remove <PATH> | portabase agent db remove <PATH> |
The old forms fail. portabase db was removed: database commands only apply to an agent, so they live under portabase agent db.
docker-compose.yml is generated
The CLI rebuilds docker-compose.yml from .env and databases.json every time the configuration changes (set, unset, db add, db remove, auth add, auth remove, build).
- Put your customisations in
docker-compose.override.yml. Docker Compose merges it and the CLI never touches it. - The first time, the old file is saved as
docker-compose.legacy.yml. - Service and volume names do not change: your data is kept.
Scripts
- Without a terminal (CI, pipes, cron), the CLI never prompts. Pass every value as a flag, and secrets with
--key-stdin,--password-stdin, etc. - Confirmations that default to no are refused in that mode: add
--forceor--yes. - Exit codes changed:
2for invalid input,3configuration,4Docker,130canceled. See Exit codes.
printf '%s\n' "$EDGE_KEY" | portabase agent create my-agent --key-stdin --tz UTC --yesOther changes
agent db removeasks for confirmation (--yesto skip) and accepts--id.restartalso creates containers added since the last start.- Templates ship with the CLI: no internet access needed to create a component.
updateverifies the binary checksum.
Upgrade steps
Back up your folders
tar czf my-agent-backup.tgz my-agent/Update the CLI
portabase updatePreview the new compose
portabase build ./my-agent --diffMove anything you still need into docker-compose.override.yml.
Apply
portabase build ./my-agent
portabase restart ./my-agentUpdate your scripts
Apply the renamed commands and add the flags needed in non-interactive mode.
Last updated on