Administration
Vessl administration covers instance-wide configuration available to instance admins.
CLI Administration
Section titled “CLI Administration”Vessl provides three CLI tools for different environments and use cases:
Server CLI (vessld)
Section titled “Server CLI (vessld)”After installation, vessld is available at /usr/local/bin/vessld. This is a shell wrapper that manages the Vessl daemon by executing commands inside the Docker container. Use it for day-to-day server administration:
vessld status # Show daemon health + running containersvessld setup # Interactive admin account wizardvessld reset-password # Reset admin passwordvessld config # View current configurationvessld config <key>=<value> # Update a setting (site-name, registration, telemetry)vessld logs -f # Tail daemon logsvessld update # Upgrade to the latest versionvessld downgrade <ver> # Downgrade to a specific version (with backup + confirmation)vessld backup # Create a manual database backupvessld restart # Restart the Vessl daemon
# App managementvessld deploy <git-url> # Deploy an app from a Git URLvessld deploy --template nextjs # Deploy a template from vesslhq/vessl-examplesvessld deploy --image nginx:latest --port 80 # Deploy from a Docker imagevessld apps:list # List all appsvessld apps:show <id> # Show app detailsvessld apps:create <name> # Create an appvessld apps:destroy <id> # Delete an app
# Database managementvessld db:list # List all databasesvessld db:show <id> # Show database detailsvessld db:create <name> <engine> # Create a database (postgres, mysql, redis, etc.)vessld db:destroy <id> # Delete a databaseDaemon CLI (vessld)
Section titled “Daemon CLI (vessld)”vessld serve # Start the daemon (default)vessld setup # Setup wizardvessld reset-password # Reset admin passwordvessld config # View/update configurationvessld deploy <url> # Deploy from Git URLvessld deploy --template # Deploy a templatevessld apps:list # List appsvessld db:list # List databasesvessld mcp # Run MCP stdio servervessld version # Show versionRemote CLI (vessl)
Section titled “Remote CLI (vessl)”For remote management from your local machine, install the vessl client:
curl -fsSL https://get.vessl.dev/cli | shvessl login # Connect to your serverFor a full list of remote commands, see the CLI Reference.
Update with vessld update
Section titled “Update with vessld update”- Shows current and latest available version.
- Creates a pre-upgrade database backup automatically.
- Pulls the new Docker image and recreates the container.
- Your apps and databases experience zero downtime.
Downgrade with vessld downgrade
Section titled “Downgrade with vessld downgrade”- Requires you to type
downgradeto confirm (safety gate). - Creates a pre-downgrade database backup automatically.
- Pulls the specified version and recreates the container.
- If something breaks, restore from backup:
cp /vessl/data/backups/vessl-pre-downgrade-*.db /vessl/data/vessl.db
Instance Settings
Section titled “Instance Settings”Access from Settings in the dashboard. Only the first registered user (instance admin) can modify these.
Global Configuration
Section titled “Global Configuration”- Wildcard Domain: Set the base domain for all services across all projects.
- SMTP Configuration: Instance-wide SMTP settings for transactional emails.
- DNS Resolvers: Custom DNS resolvers for container networking.
- Port Ranges: Configure the port pool for service allocation.
Traefik Configuration
Section titled “Traefik Configuration”- SSL Provider: Let’s Encrypt configuration.
- HTTP Redirect: Force HTTPS across all services.
- Dashboard: Enable or disable the Traefik dashboard.
System Updates
Section titled “System Updates”Automatic Update Checks
Section titled “Automatic Update Checks”Vessl periodically checks GitHub releases for new versions. The dashboard displays a notification when an update is available.
Manual Check
Section titled “Manual Check”curl -X POST /api/settings/updates/check \ -H "Authorization: Bearer vpt_xxx"Deploying an Update
Section titled “Deploying an Update”- Go to Settings → Updates.
- Click Check for Updates.
- If an update is available, click Deploy Update.
- The system downloads and applies the update.
- The dashboard displays real-time update progress.
Update Process
Section titled “Update Process”- New binary is downloaded from GitHub releases.
- Database migrations are applied (backward-compatible).
- Services are restarted gracefully.
- Old binary is kept for rollback.
Rollback
Section titled “Rollback”sudo vessld rollbackRestores the previous binary and a database backup taken before the upgrade.
License Management
Section titled “License Management”Activating a License
Section titled “Activating a License”- Go to Settings → License.
- Enter your license key.
- Click Activate.
The license is validated against the licensing server and applied immediately.
License Features
Section titled “License Features”Plans may include:
- Seat limits (number of users)
- Instance limits
- Premium features (audit logs, SSO, advanced RBAC)
Telemetry
Section titled “Telemetry”By default, Vessl collects anonymized usage data to improve the product. This can be disabled in Settings → Privacy.
What’s Collected
Section titled “What’s Collected”- Instance version and uptime
- Count of projects, services, and users (no names or content)
- Deployment success/failure rates
- Enabled features and integrations
Maintenance
Section titled “Maintenance”Data Directory
Section titled “Data Directory”All persistent data is stored in the configured VESSL_DATA_DIR (default: data/):
data/├── vessl.db # SQLite database├── .vault_key # Encryption key (keep safe)├── databases/ # Database volumes├── storage/ # MinIO storage volumes└── backups/ # Backup archivesBackup
Section titled “Backup”Back up your Vessl instance:
# Stop the daemon# Copy the data directorycp -r data/ data-backup-$(date +%Y%m%d)# Restart the daemonRestore
Section titled “Restore”- Stop the daemon.
- Restore the data directory from your backup.
- Restart the daemon.
- Database migrations run automatically on startup.