Installation
- Homebrew
- npm
- Shell script
Copy
Ask AI
brew install sevalla-hosting/tap/sevalla
Requires Node.js 22 or later.
Copy
Ask AI
npm install -g @sevalla/cli
Copy
Ask AI
bash <(curl -fsSL https://raw.githubusercontent.com/sevalla-hosting/cli/main/install.sh)
Authentication
Interactive login
Thelogin command opens your browser and authenticates via device authorization. No need to copy-paste tokens.
Copy
Ask AI
sevalla login
Copy
Ask AI
sevalla auth status
sevalla logout
~/.config/sevalla/credentials.json with 0600 permissions.
API token (CI/CD)
For non-interactive environments, set theSEVALLA_API_TOKEN environment variable:
Copy
Ask AI
export SEVALLA_API_TOKEN="your-api-token"
sevalla apps list
Copy
Ask AI
sevalla api-keys create --name "CI Token"
Quick start
Copy
Ask AI
# Log in
sevalla login
# List your applications
sevalla apps list
# Trigger a deployment
sevalla apps deployments trigger <app-id> --branch main
# View runtime logs
sevalla apps logs runtime <app-id>
Commands
Applications
Copy
Ask AI
sevalla apps list # List all applications
sevalla apps get <id> # Get application details
sevalla apps create --name myapp --source privateGit --cluster <id>
sevalla apps update <id> --display-name "My App"
sevalla apps delete <id>
sevalla apps activate <id> # Activate a suspended app
sevalla apps suspend <id> # Suspend an app
sevalla apps clone <id> --display-name "Clone" --cluster <id>
sevalla apps purge-cache <id> # Clear application cache
sevalla apps cdn-toggle <id> # Toggle CDN on/off
Deployments
Copy
Ask AI
sevalla apps deployments list --app-id <id>
sevalla apps deployments get <deployment-id> --app-id <id>
sevalla apps deployments trigger <app-id> --branch main
sevalla apps deployments rollback <app-id> --deployment-id <id>
sevalla apps deployments cancel <deployment-id> --app-id <id>
sevalla apps deployments logs <deployment-id> --app-id <id>
Deployment hooks
Copy
Ask AI
sevalla apps deployment-hook get <app-id>
sevalla apps deployment-hook enable <app-id>
sevalla apps deployment-hook disable <app-id>
sevalla apps deployment-hook regenerate <app-id>
Processes
Copy
Ask AI
sevalla apps processes list --app-id <id>
sevalla apps processes get <process-id> --app-id <id>
sevalla apps processes create <app-id> --name web --type web
sevalla apps processes update <process-id> --app-id <id> --instances 3
sevalla apps processes delete <process-id> --app-id <id>
sevalla apps processes trigger <process-id> --app-id <id>
Domains
Copy
Ask AI
sevalla apps domains list --app-id <id>
sevalla apps domains add <app-id> --name example.com
sevalla apps domains get <domain-id> --app-id <id>
sevalla apps domains update <domain-id> --app-id <id>
sevalla apps domains delete <app-id> <domain-id>
sevalla apps domains set-primary <app-id> <domain-id>
sevalla apps domains toggle <app-id> <domain-id>
sevalla apps domains refresh-status <app-id> <domain-id>
Environment variables
Copy
Ask AI
sevalla apps env-vars list --app-id <id>
sevalla apps env-vars create <app-id> --key MY_VAR --value "my value"
sevalla apps env-vars update <env-var-id> --app-id <id> --value "new value"
sevalla apps env-vars delete <app-id> <env-var-id>
Networking
Copy
Ask AI
# IP restrictions
sevalla apps ip-restriction get <app-id>
sevalla apps ip-restriction update <app-id> --type allow --ip-list "1.2.3.4,5.6.7.8"
# TCP proxies
sevalla apps tcp-proxies list --app-id <id>
sevalla apps tcp-proxies create <app-id> --port 3000
sevalla apps tcp-proxies delete <app-id> <tcp-proxy-id>
# Private ports
sevalla apps private-ports list --app-id <id>
sevalla apps private-ports create <app-id> --port 8080 --protocol TCP
sevalla apps private-ports delete <app-id> <private-port-id>
Logs
Copy
Ask AI
sevalla apps logs runtime <app-id>
sevalla apps logs access <app-id>
Metrics
Copy
Ask AI
sevalla apps metrics requests-per-minute <app-id>
sevalla apps metrics response-time <app-id>
sevalla apps metrics response-time-avg <app-id>
sevalla apps metrics status-codes <app-id>
sevalla apps metrics top-status-codes <app-id>
sevalla apps metrics top-countries <app-id>
sevalla apps metrics slowest-requests <app-id>
sevalla apps metrics top-pages <app-id>
# Process metrics
sevalla apps processes metrics cpu-usage <app-id> <process-id>
sevalla apps processes metrics cpu-limit <app-id> <process-id>
sevalla apps processes metrics memory-usage <app-id> <process-id>
sevalla apps processes metrics memory-limit <app-id> <process-id>
sevalla apps processes metrics instance-count <app-id> <process-id>
Databases
Copy
Ask AI
sevalla databases list
sevalla databases get <id>
sevalla databases create --name mydb --type postgresql --db-version 16 --cluster <id> --resource-type <id> --db-name mydb --db-password secret
sevalla databases update <id> --display-name "My DB"
sevalla databases delete <id>
sevalla databases activate <id>
sevalla databases suspend <id>
sevalla databases reset-password <id>
Backups
Copy
Ask AI
sevalla databases backups list --db-id <id>
sevalla databases backups create <db-id>
sevalla databases backups delete <db-id> <backup-id>
sevalla databases backups restore <db-id> <backup-id>
Connections
Copy
Ask AI
sevalla databases connections internal-list --db-id <id>
sevalla databases connections internal-create <db-id> --application-id <id>
sevalla databases connections internal-delete <db-id> <connection-id>
sevalla databases connections external-toggle <db-id>
Database metrics
Copy
Ask AI
sevalla databases metrics cpu-usage <id>
sevalla databases metrics cpu-limit <id>
sevalla databases metrics memory-usage <id>
sevalla databases metrics memory-limit <id>
sevalla databases metrics storage-usage <id>
sevalla databases metrics storage-limit <id>
sevalla databases metrics all-storage <id>
sevalla databases metrics used-storage <id>
Database IP restriction
Copy
Ask AI
sevalla databases ip-restriction get <db-id>
sevalla databases ip-restriction update <db-id>
Static sites
Copy
Ask AI
sevalla static-sites list
sevalla static-sites get <id>
sevalla static-sites create --name mysite --repository user/repo --branch main
sevalla static-sites update <id> --display-name "My Site"
sevalla static-sites delete <id>
sevalla static-sites purge-cache <id>
Static site deployments
Copy
Ask AI
sevalla static-sites deployments list --site-id <id>
sevalla static-sites deployments get <deployment-id> --site-id <id>
sevalla static-sites deployments trigger <site-id> --branch main
sevalla static-sites deployments cancel <deployment-id> --site-id <id>
sevalla static-sites deployments logs <deployment-id> --site-id <id>
Static site domains
Copy
Ask AI
sevalla static-sites domains list --site-id <id>
sevalla static-sites domains get <domain-id> --site-id <id>
sevalla static-sites domains add <site-id> --name example.com
sevalla static-sites domains update <domain-id> --site-id <id>
sevalla static-sites domains delete <site-id> <domain-id>
sevalla static-sites domains set-primary <site-id> <domain-id>
sevalla static-sites domains toggle <site-id> <domain-id>
sevalla static-sites domains refresh-status <site-id> <domain-id>
Static site environment variables
Copy
Ask AI
sevalla static-sites env-vars list --site-id <id>
sevalla static-sites env-vars create <site-id> --key MY_VAR --value "my value"
sevalla static-sites env-vars update <env-var-id> --site-id <id>
sevalla static-sites env-vars delete <site-id> <env-var-id>
Static site logs and metrics
Copy
Ask AI
sevalla static-sites logs access <site-id>
sevalla static-sites metrics requests-per-minute <site-id>
sevalla static-sites metrics response-time <site-id>
sevalla static-sites metrics response-time-avg <site-id>
sevalla static-sites metrics status-codes <site-id>
sevalla static-sites metrics top-status-codes <site-id>
sevalla static-sites metrics top-countries <site-id>
sevalla static-sites metrics slowest-requests <site-id>
sevalla static-sites metrics top-pages <site-id>
Load balancers
Copy
Ask AI
sevalla load-balancers list
sevalla load-balancers get <id>
sevalla load-balancers create --name "My LB" --cluster <id>
sevalla load-balancers update <id> --display-name "Updated LB"
sevalla load-balancers delete <id>
# Destinations
sevalla load-balancers destinations list --lb-id <id>
sevalla load-balancers destinations create <lb-id> --application-id <id>
sevalla load-balancers destinations delete <lb-id> <destination-id>
sevalla load-balancers destinations toggle <lb-id> <destination-id>
# Domains
sevalla load-balancers domains list --lb-id <id>
sevalla load-balancers domains add <lb-id> --name example.com
sevalla load-balancers domains delete <lb-id> <domain-id>
sevalla load-balancers domains set-primary <lb-id> <domain-id>
sevalla load-balancers domains toggle <lb-id> <domain-id>
sevalla load-balancers domains refresh-status <lb-id> <domain-id>
Object storage
Copy
Ask AI
sevalla object-storage list
sevalla object-storage get <id>
sevalla object-storage create --name mybucket --cluster <id>
sevalla object-storage update <id> --display-name "My Bucket"
sevalla object-storage delete <id>
# Objects
sevalla object-storage objects list --storage-id <id>
sevalla object-storage objects delete --storage-id <id>
# CORS policies
sevalla object-storage cors-policies list --storage-id <id>
sevalla object-storage cors-policies create <storage-id>
sevalla object-storage cors-policies update <cors-policy-id> --storage-id <id>
sevalla object-storage cors-policies delete <storage-id> <cors-policy-id>
# CDN domain
sevalla object-storage domain create <storage-id>
sevalla object-storage domain delete <storage-id>
Pipelines
Copy
Ask AI
sevalla pipelines list
sevalla pipelines get <id>
sevalla pipelines create --name "My Pipeline"
sevalla pipelines update <id> --display-name "Updated Pipeline"
sevalla pipelines delete <id>
sevalla pipelines promote <id>
# Preview
sevalla pipelines preview update <id>
sevalla pipelines preview enable <id>
sevalla pipelines preview disable <id>
# Stages
sevalla pipelines stages create <pipeline-id>
sevalla pipelines stages delete <pipeline-id> <stage-id>
sevalla pipelines stages add-app <pipeline-id> <stage-id> --application-id <id>
sevalla pipelines stages remove-app <pipeline-id> <stage-id> <app-id>
Projects
Copy
Ask AI
sevalla projects list
sevalla projects get <id>
sevalla projects create --name "My Project"
sevalla projects update <id> --display-name "Updated Project"
sevalla projects delete <id>
sevalla projects add-service <id> --service-id <service-id>
sevalla projects remove-service <id> <service-id>
Docker registries
Copy
Ask AI
sevalla docker-registries list
sevalla docker-registries get <id>
sevalla docker-registries create --name "My Registry" --url registry.example.com --username user --password secret
sevalla docker-registries update <id> --display-name "Updated Registry"
sevalla docker-registries delete <id>
Webhooks
Copy
Ask AI
sevalla webhooks list
sevalla webhooks get <id>
sevalla webhooks create --name "My Webhook" --url https://example.com/hook --events "deployment.started,deployment.completed"
sevalla webhooks update <id>
sevalla webhooks delete <id>
sevalla webhooks toggle <id>
sevalla webhooks roll-secret <id>
# Deliveries
sevalla webhooks deliveries list --webhook-id <id>
sevalla webhooks deliveries get <delivery-id> --webhook-id <id>
API keys
Copy
Ask AI
sevalla api-keys list
sevalla api-keys get <id>
sevalla api-keys create --name "My Key"
sevalla api-keys update <id> --name "Updated Key"
sevalla api-keys delete <id>
sevalla api-keys rotate <id>
sevalla api-keys toggle <id>
sevalla api-keys validate
Global environment variables
Copy
Ask AI
sevalla global-env-vars list
sevalla global-env-vars create --key GLOBAL_VAR --value "value"
sevalla global-env-vars update <id> --value "new value"
sevalla global-env-vars delete <id>
Resources
Copy
Ask AI
sevalla resources clusters # List available clusters
sevalla resources database-resource-types # List database resource types
sevalla resources process-resource-types # List process resource types
sevalla resources git-providers # List Git providers
Global flags
Every command supports these flags:| Flag | Description |
|---|---|
--json | Output structured JSON for scripting and CI/CD pipelines. |
--api-url <url> | Override the default API endpoint. |
--confirm | Skip confirmation prompts for destructive actions. |
--version | Display the CLI version. |
--help | Show help for any command. |
Copy
Ask AI
# Example: pipe JSON output to jq
sevalla apps list --json | jq '.[].name'
Shell completions
Enable tab completions for your shell:- Bash
- Zsh
- Fish
Copy
Ask AI
eval "$(sevalla completion bash)"
Copy
Ask AI
eval "$(sevalla completion zsh)"
Copy
Ask AI
sevalla completion fish | source
Environment variables
| Variable | Description |
|---|---|
SEVALLA_API_TOKEN | API token for authentication. Overrides stored credentials from sevalla login. |
SEVALLA_API_URL | Override the default API endpoint. |