Digital Ocean
Deploy Convox on Digital Ocean using Digital Ocean Kubernetes Service (DOKS) for a developer-friendly, cost-effective Kubernetes platform.The easiest way to install a Rack is with the Convox Web Console. These instructions are for command-line installation.
Prerequisites
Before installing Convox on Digital Ocean, ensure you have the following tools installed:Install Terraform
Install Convox CLI
Digital Ocean API Configuration
Convox requires Digital Ocean API credentials to provision infrastructure.Required Environment Variables
Personal Access Token for Digital Ocean API
Spaces Access Key ID for object storage
Spaces Secret Key for object storage
Create Digital Ocean Tokens
Create Personal Access Token
- Log into Digital Ocean Control Panel
- Navigate to API Tokens
- Click Generate New Token
- Name:
convox - Scopes: Select Read and Write
- Click Generate Token
Create Spaces Access Key
Digital Ocean Spaces (S3-compatible storage) is used for build artifacts.
- Navigate to API → Spaces Keys
- Scroll to Spaces access keys section
- Click Generate New Key
- Name:
convox - Click Create
- Key → Use as
DIGITALOCEAN_ACCESS_ID - Secret → Use as
DIGITALOCEAN_SECRET_KEY
Installation
Install a Convox Rack on Digital Ocean using the CLI:Basic Installation
Installation Examples
Configuration Parameters
Convox on Digital Ocean supports the following configuration parameters:Region Configuration
Digital Ocean region where the rack will be deployedAvailable Regions:North America:View all Digital Ocean regions
nyc1- New York City 1nyc3- New York City 3 (default)sfo3- San Francisco 3tor1- Toronto 1
lon1- London 1fra1- Frankfurt 1ams3- Amsterdam 3
sgp1- Singapore 1blr1- Bangalore 1
Node Configuration
Digital Ocean droplet size for Kubernetes nodesStandard Droplets (General Purpose):View all droplet sizes
s-1vcpu-1gb- 1 vCPU, 1 GB RAM, 25 GB SSDs-1vcpu-2gb- 1 vCPU, 2 GB RAM, 50 GB SSDs-2vcpu-2gb- 2 vCPU, 2 GB RAM, 60 GB SSDs-2vcpu-4gb- 2 vCPU, 4 GB RAM, 80 GB SSD (default)s-4vcpu-8gb- 4 vCPU, 8 GB RAM, 160 GB SSDs-8vcpu-16gb- 8 vCPU, 16 GB RAM, 320 GB SSD
c-2- 2 vCPU, 4 GB RAMc-4- 4 vCPU, 8 GB RAMc-8- 8 vCPU, 16 GB RAMc-16- 16 vCPU, 32 GB RAM
m-2vcpu-16gb- 2 vCPU, 16 GB RAMm-4vcpu-32gb- 4 vCPU, 32 GB RAMm-8vcpu-64gb- 8 vCPU, 64 GB RAM
g-2vcpu-8gb- 2 vCPU, 8 GB RAMg-4vcpu-16gb- 4 vCPU, 16 GB RAMg-8vcpu-32gb- 8 vCPU, 32 GB RAM
Registry Configuration
Persistent disk size for the Docker registryDigital Ocean uses an in-cluster registry for Docker images. This parameter sets the volume size for image storage.Recommended Sizes:
50Gi- Small projects, few applications (default)100Gi- Medium projects, multiple applications250Gi- Large projects, many images500Gi- Very large deployments
The registry stores all Docker images for your applications. Size appropriately based on the number and size of your container images.
SSL/TLS Configuration
Certificate renewal period (90 days by default)Convox automatically manages TLS certificates using Let’s Encrypt.Duration Format:
720h- 30 days2160h- 90 days (recommended, default)4320h- 180 days
Logging Configuration
Forward logs to an external syslog endpointSupported Protocols:
tcp+tls://hostname:port- TLS-encrypted TCP (recommended)tcp://hostname:port- Unencrypted TCPudp://hostname:port- UDP
- Papertrail:
tcp+tls://logsN.papertrailapp.com:XXXXX - Loggly:
tcp+tls://logs-01.loggly.com:6514 - Splunk:
tcp+tls://input.splunk.com:514
Infrastructure Components
When you install Convox on Digital Ocean, Terraform provisions:Compute
- DOKS Cluster (Kubernetes control plane)
- Node Pool with auto-scaling droplets
- Load Balancer for ingress traffic
Storage
- Spaces Bucket (S3-compatible) for build artifacts
- Volume for Docker registry
- Block Storage for persistent volumes
Networking
- VPC for cluster isolation
- Firewall Rules for security
- Load Balancer with automatic SSL
Registry
- In-cluster Docker Registry for container images
- Persistent Volume for image storage
Cost Optimization
Start Small
Right-Size Registry
Regional Pricing
All Digital Ocean regions have the same pricing, so choose based on proximity to users rather than cost
Kubernetes Auto-Scaling
DOKS automatically scales your node pool based on demand, so you only pay for what you use
Pricing Examples
Development Rack:- 2x
s-2vcpu-2gbnodes: 36/month - Load Balancer: $12/month
- Registry Volume (50Gi): ~$5/month
- Total: ~$53/month
- 3x
s-4vcpu-8gbnodes: 216/month - Load Balancer: $12/month
- Registry Volume (100Gi): ~$10/month
- Total: ~$238/month
Production Best Practices
Use Appropriate Node Sizes
- General apps:
s-4vcpu-8gborg-4vcpu-16gb - CPU-intensive:
c-4orc-8 - Memory-intensive:
m-4vcpu-32gb
Size Registry Appropriately
Select Optimal Region
- Proximity to your users (latency)
- Your team’s location
- Compliance requirements
Updating Rack Parameters
After installation, you can update rack parameters:Troubleshooting
Installation Issues
Invalid API token
Invalid API token
Error:
Authentication failed or 401 UnauthorizedSolution:- Verify token is correctly copied (no extra spaces)
- Check token has both Read and Write scopes
- Ensure token hasn’t been revoked
- Generate a new token if needed
Spaces key issues
Spaces key issues
Error:
Failed to create spaces bucket or S3 errorsSolution:- Verify Spaces keys are correct:
- Generate new Spaces access keys if needed
- Ensure keys have write permissions
Resource quota exceeded
Resource quota exceeded
Error:
Droplet limit exceeded or similarSolution:
Digital Ocean has default limits on resources:- Check your account limits in Digital Ocean Control Panel
- Request limit increase via support ticket
- Or use smaller/fewer droplets
Region not available
Region not available
Error:
Region [xxx] does not support KubernetesSolution:
Not all DO regions support DOKS. Use one of the supported regions:nyc1,nyc3sfo3sgp1lon1fra1ams3tor1blr1
Runtime Issues
Node pool not scaling
Node pool not scaling
Issue: Cluster not adding nodes under loadSolution:
- Check droplet limits in your account
- Verify auto-scaling is enabled in Digital Ocean Control Panel
- Review DOKS cluster events for errors
Registry disk full
Registry disk full
Issue: Or clean up old images:
No space left on device errors during buildsSolution:
Increase registry disk size:Load balancer not responding
Load balancer not responding
Issue: Cannot access applicationsSolution:
- Check firewall rules in Digital Ocean Control Panel
- Verify load balancer health checks are passing
- Check application logs:
- Verify DNS is pointing to load balancer IP
Digital Ocean Regions
Available DOKS regions:North America
- NYC1 - New York City 1
- NYC3 - New York City 3 (popular)
- SFO3 - San Francisco 3 (popular)
- TOR1 - Toronto 1
Europe
- LON1 - London 1
- FRA1 - Frankfurt 1 (popular)
- AMS3 - Amsterdam 3
Asia Pacific
- SGP1 - Singapore 1
- BLR1 - Bangalore 1
Comparison with Other Providers
Simplicity
Digital Ocean offers the simplest setup with minimal configuration options
Cost
Very competitive pricing, especially for small to medium workloads
Features
Fewer advanced features than AWS/GCP/Azure, but covers most common use cases
When to Choose Digital Ocean
✅ Good for:- Small to medium applications
- Startups and development teams
- Cost-conscious deployments
- Simpler infrastructure needs
- Quick setup and deployment
- Advanced networking (VPN, Direct Connect)
- Extensive compliance certifications
- GPU/specialized compute
- Global presence (limited regions)
- Advanced managed services
Next Steps
Deploy an Application
Learn how to deploy your first application to your new rack
Configure Resources
Set up databases, Redis, and other resources
Custom Domains
Configure custom domains and SSL certificates
Rack Management
Learn how to manage and update your rack
Additional Resources
- Digital Ocean Kubernetes Documentation
- Digital Ocean Spaces
- Convox Troubleshooting - Common issues and solutions
- Community Forum - Get help from the community