CLI
Deploy
Deploy and inspect Project deployments on the VPS.
project deploy
Deploy the current project to the VPS.
project deploy [directory] [flags]Arguments
| Argument | Required | Default | Description |
|---|---|---|---|
directory | no | . | Project directory to deploy. |
Flags
| Flag | Synonyms | Type | Default | Description |
|---|---|---|---|---|
--host | - | string | discovered | SSH host. |
--path | - | string | discovered | Remote project directory. |
--branch | - | string | discovered | Git branch to deploy. |
--domain | - | string | discovered | Public project domain. |
--api-domain | - | string | derived from --domain when possible | Public API domain. |
--email | - | string | none | Traefik ACME email. |
--dry-run | - | boolean | false | Print planned remote actions without changing the VPS. |
--help | -h | boolean | false | Print help. |
Deploy Config
Values can live in deploy/deploy.yaml:
host: deploy@100.84.238.75
secrets:
GITHUB_TOKEN: op://projects/GitHub Personal Access Token/token
environments:
prod:
default: true
branch: main
path: /opt/platform/apps/my-project
domain: my-project.os-home.net
apiDomain: api.my-project.os-home.net
beta:
branch: beta
path: /opt/platform/apps/my-project-beta
domain: beta.my-project.os-home.net
apiDomain: api.beta.my-project.os-home.netFlags override config.
Deploy status and dry-run JSON include webUrl, apiUrl, and docsUrl.
docsUrl is derived from the app domain at /docs.
Behavior
- Requires
deploy/compose.yml. - Requires
deploy/ingress.labels.yml. - Uses the VPS-owned
private-platform-traefikingress andtraefik-publicDocker network. - Supports only
prodandbeta. - Requires
--envfor deploys. - Clones or refreshes the remote Git checkout.
- Runs Docker Compose with the deploy compose and ingress labels.
Examples
project deploy --env prod --dry-run
project deploy --env beta --dry-run --format json
project deploy status --all-envs --format jsonproject deploy status
Inspect deployment status without changing the VPS.
project deploy status [directory] [flags]Arguments
| Argument | Required | Default | Description |
|---|---|---|---|
directory | no | . | Project directory. |
Flags
| Flag | Synonyms | Type | Default | Description |
|---|---|---|---|---|
--host | - | string | discovered | SSH host. |
--path | - | string | discovered | Remote project directory. |
--branch | - | string | discovered | Git branch. |
--domain | - | string | discovered | Public project domain. |
--api-domain | - | string | derived from --domain when possible | Public API domain. |
--email | - | string | none | Traefik ACME email. |
--help | -h | boolean | false | Print help. |
Examples
project deploy status
project deploy status --host deploy@100.84.238.75 --path /opt/platform/apps/project-space