Configuration
Vessl offers extensive configuration options through the dashboard and environment variables.
Server Settings
Section titled “Server Settings”Access server settings from Settings → Server Settings in the dashboard. Only instance admins can modify these.
Traefik Reverse Proxy
Section titled “Traefik Reverse Proxy”- Wildcard Domain: Set the base domain for all services (e.g.
vessl.example.com). - Let’s Encrypt Email: Email for SSL certificate notifications.
- HTTP to HTTPS Redirect: Auto-redirect all HTTP traffic to HTTPS.
- Custom Port Bindings: Map service ports to custom host ports.
- Custom DNS Resolvers: Override system DNS for container networking.
- Network: Vessl containers run on a dedicated Docker network.
System
Section titled “System”- Data Directory: Location for SQLite database, vault keys, and container volumes.
- Static Directory: Path to the built dashboard frontend.
- Port: The HTTP port for the Vessl daemon (default:
8080).
Environment Variables
Section titled “Environment Variables”Set at the server level via .env:
PORT=8080VESSL_DATA_DIR=dataVESSL_STATIC_DIR=dashboard/distVESSL_TLS_EMAIL=admin@example.comVESSL_MAGIC_DOMAIN=traefik.me # Magic DNS domain (options: sslip.io, traefik.me, nip.io)Notifications
Section titled “Notifications”Vessl sends deployment, backup, and system notifications through configurable channels.
Supported Channels
Section titled “Supported Channels”| Channel | Configuration |
|---|---|
| Discord | Webhook URL |
| Slack | Webhook URL |
| Telegram | Bot token + Chat ID |
| Pushover | User key + App token |
| Email (SMTP) | SMTP server, credentials, from address |
| Resend | Resend API key |
| Generic Webhook | Custom URL + headers |
Setting Up a Channel
Section titled “Setting Up a Channel”- Go to Settings → Notifications.
- Click Add Channel.
- Select the channel type and enter the required credentials.
- Test the channel with a sample notification.
Notification Events
Section titled “Notification Events”Channels can be configured for specific events:
- Deployment started, completed, failed
- Backup completed, failed
- Backup upload to S3 completed
- System update available
- Backup retention cleanup
Email Configuration
Section titled “Email Configuration”You can configure SMTP or Resend settings for transactional emails (invites, password resets):
- Go to Server Settings → Email.
- Configure SMTP server or Resend API key.
- Verify the configuration with a test email.
OAuth Providers
Section titled “OAuth Providers”Configure external authentication providers:
- Go to Settings → OAuth Providers.
- Add a provider (GitHub, Google, GitLab, or custom).
- Enter the Client ID and Client Secret from the provider’s OAuth app.
- Enable the provider for login.
Supported providers:
- GitHub
- GitLab
- Bitbucket
- Custom OpenID Connect
Two-Factor Authentication
Section titled “Two-Factor Authentication”Enable 2FA on your account for additional security:
- Go to Profile → Security.
- Click Setup 2FA.
- Scan the QR code with your authenticator app (Authy, Google Authenticator, 1Password).
- Enter the verification code to confirm.
AI Integration
Section titled “AI Integration”Configure an AI provider for deployment diagnostics:
- Go to Server Settings → AI.
- Select a provider (OpenAI or Anthropic).
- Enter your API key.
- When a deployment fails, click AI Diagnose to analyze logs and get fix suggestions.
License Management
Section titled “License Management”For self-hosted instances, manage your license from Settings → License:
- Activate a license key
- View current plan, seat limits, and expiration
- Instance admins can update license details
System Updates
Section titled “System Updates”Vessl checks for updates automatically. To manage updates:
- Go to Settings → Updates.
- Check the current version and available updates.
- Click Deploy Update to upgrade.
- The dashboard will display update progress.
Updates can also be triggered manually via the CLI:
curl -fsSL https://get.vessl.dev | sh