Dokploy VPS Setup Guide 2026: Open-Source Vercel Alternative
Deploy Dokploy on your VPS for a self-hosted deployment platform. Complete setup guide with Docker, Traefik, and automatic SSL.
Dokploy VPS Setup Guide: Self-Hosted Deployment Platform
Dokploy is an open-source PaaS that makes deploying applications dead simple. Think of it as your personal Vercel/Railway that runs on any VPS.
What is Dokploy?
What is Dokploy?
Dokploy handles the boring parts of deployment:
- Git-based deployments — Push to deploy
- Automatic SSL — Let’s Encrypt integration
- Docker native — Run any containerized app
- Database templates — One-click PostgreSQL, MySQL, Redis
- Traefik routing — Automatic domain management
- Real-time logs — Monitor deployments live
Dokploy vs Other Platforms
| Feature | Dokploy | Coolify | Vercel |
|---|---|---|---|
| Price | Free (VPS cost) | Free (VPS cost) | $20+/mo |
| Self-hosted | ✅ | ✅ | ❌ |
| Docker Compose | ✅ | ✅ | ❌ |
| Multi-server | ✅ | ✅ | ❌ |
| UI Simplicity | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| Features | Growing | Mature | Most |
Dokploy is newer but has a cleaner UI and faster setup.
VPS Requirements
Minimum:
- 1 vCPU, 2GB RAM
- 25GB storage
- Ubuntu 22.04+
Recommended:
- 2 vCPU, 4GB RAM
- 50GB storage
- Ubuntu 22.04 or Debian 12
Best VPS for Dokploy
| Provider | Plan | Specs | Price |
|---|---|---|---|
| Hostinger | KVM1 | 1 vCPU, 4GB RAM | $4.99/mo |
| Hetzner | CX21 | 2 vCPU, 4GB RAM | €5.39/mo |
| Vultr | VC2 | 1 vCPU, 2GB RAM | $12/mo |
Installation
Step 1: Create VPS
Step 2: DNS Setup
Point your domain before installation:
A dokploy.yourdomain.com → your-server-ip
A *.dokploy.yourdomain.com → your-server-ip
The wildcard lets each app get a subdomain.
Step 3: Connect to Server
ssh root@your-server-ip
# Update system
apt update && apt upgrade -y
Step 4: Install Dokploy
One command does everything:
curl -sSL https://dokploy.com/install.sh | sh
This installs:
- Docker
- Dokploy application
- Traefik reverse proxy
- PostgreSQL (for Dokploy data)
Takes about 3-5 minutes.
Step 5: Access Dashboard
http://your-server-ip:3000
Create your admin account. Use a strong password.
Step 6: Configure Domain & SSL
- Go to Settings
- Set Server Domain:
dokploy.yourdomain.com - Enable SSL/TLS
- Enter email for Let’s Encrypt
- Save
Now access via https://dokploy.yourdomain.com
Deploying Applications
Deploy from GitHub
- Projects → New Project
- Add Application
- Select source: GitHub
- Authorize GitHub access
- Choose repository
- Click Deploy
Dokploy auto-detects:
- Node.js (package.json)
- Python (requirements.txt)
- Go (go.mod)
- Dockerfile
Deploy with Docker Compose
For existing compose projects:
- Create Application → Docker Compose
- Paste your compose file or select from repo
- Deploy
Example compose:
version: '3.8'
services:
web:
image: nginx:alpine
ports:
- "80:80"
Deploy Dockerfile
- Create Application → Dockerfile
- Point to repo with Dockerfile
- Dokploy builds and deploys
Database Setup
PostgreSQL
- Projects → Select project
- Add Service → PostgreSQL
- Set database name and password
- Deploy
Connection string shows in dashboard:
postgresql://postgres:password@postgres-xxx:5432/dbname
MySQL
Same process:
- Add Service → MySQL
- Configure credentials
- Deploy
Redis
- Add Service → Redis
- Deploy
- Use
redis://redis-xxx:6379
Custom Domains
Add Domain to App
- Select application
- Domains tab
- Add:
app.yourdomain.com - SSL automatically provisioned
Redirect www to non-www
Add both domains, Dokploy handles redirects:
yourdomain.com
www.yourdomain.com
Environment Variables
Application Variables
- Select app → Environment
- Add variables:
DATABASE_URL=postgresql://...
SECRET_KEY=your-secret
NODE_ENV=production
Secrets (Encrypted)
For sensitive data:
- Settings → Secrets
- Create secret
- Reference in apps:
{{SECRET_NAME}}
Deployments & Rollbacks
Automatic Deployments
Enable webhooks:
- App settings → Build
- Enable Auto Deploy
- Push to main triggers rebuild
Manual Deploy
Click Deploy button anytime.
Rollback
- Deployments tab
- Find previous deployment
- Click Rollback
Monitoring
Real-time Logs
- Select application
- Logs tab
- Stream logs in real-time
Resource Usage
Dashboard shows:
- CPU usage per app
- Memory consumption
- Disk usage
- Network traffic
Health Checks
Configure in app settings:
Health Check Path: /health
Interval: 30s
Timeout: 5s
Backups
Database Backups
- Select database
- Backups → Enable
- Set schedule
- Configure destination (S3, local)
Manual Backup
# On VPS
docker exec dokploy-postgres pg_dump -U postgres > backup.sql
Volume Backups
For apps with persistent data:
docker run --rm \
-v app_data:/data \
-v /backup:/backup \
alpine tar czf /backup/data.tar.gz /data
Multi-Server Setup
Dokploy supports multiple servers:
- Servers → Add Server
- Install Dokploy agent on new VPS:
curl -sSL https://dokploy.com/install-agent.sh | sh - Add server token to Dokploy
- Deploy apps to specific servers
Use cases:
- Separate staging/production
- Geographic distribution
- Resource isolation
Common Deployments
Next.js
- Create app → GitHub → Select repo
- Build command:
npm run build - Start command:
npm start - Port: 3000
FastAPI
Dockerfile:
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
Static Sites
- Create app → GitHub
- Build:
npm run build - Publish directory:
distorbuild - Dokploy serves static files
WordPress
- Add Service → WordPress
- One-click setup includes MySQL
- Configure domain
- Done
Troubleshooting
Deployment Fails
Check logs:
- App → Deployments → Failed deployment
- View build logs
- Common issues:
- Missing dependencies
- Port mismatch
- Build command wrong
SSL Not Working
- Verify DNS points to server
- Wait for propagation
- Check ports 80/443 open
- Restart Traefik:
docker restart dokploy-traefik
Out of Memory
- Check with
docker stats - Add swap:
fallocate -l 2G /swapfile chmod 600 /swapfile mkswap /swapfile swapon /swapfile - Reduce concurrent apps
Container Won’t Start
# Check container logs
docker logs container-name
# Common fixes:
# - Wrong port exposed
# - Missing env variables
# - Healthcheck failing
Performance Optimization
Enable Swap
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile swap swap defaults 0 0' >> /etc/fstab
Docker Cleanup
# Remove unused images
docker system prune -a
# Schedule weekly cleanup
echo "0 3 * * 0 docker system prune -af" | crontab -
Resource Limits
Set per-app in compose:
services:
app:
deploy:
resources:
limits:
memory: 512M
cpus: '0.5'
API Access
Dokploy has a REST API:
# Get auth token from settings
# List projects
curl -X GET https://dokploy.yourdomain.com/api/projects \
-H "Authorization: Bearer YOUR_TOKEN"
# Trigger deployment
curl -X POST https://dokploy.yourdomain.com/api/application/deploy \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{"applicationId": "xxx"}'
FAQ
How many apps can Dokploy handle?
On 4GB VPS: 5-15 lightweight apps comfortably. More with proper resource limits.
Is Dokploy production-ready?
Yes, it’s actively maintained and used in production. v0.8+ is stable.
Dokploy vs Coolify?
Both are excellent. Dokploy has simpler UI, Coolify has more features. Try both.
Can I migrate from Heroku?
Yes! Add your repo, configure buildpacks or Dockerfile, deploy.
How do I update Dokploy?
curl -sSL https://dokploy.com/install.sh | sh
Same command updates to latest.
Summary
Dokploy turns a $5 VPS into a powerful deployment platform:
| What You Get | Cost |
|---|---|
| Unlimited apps | VPS cost only |
| Automatic SSL | Included |
| Git deployments | Included |
| Databases | Included |
| Custom domains | Unlimited |
Recommended Setup:
- Get Hostinger VPS ($4.99/mo)
- Install Dokploy
- Connect GitHub
- Deploy everything
That’s $5/month for your own Vercel. No limits, no vendor lock-in, full control.
Ready to get started?
Get the best VPS hosting deal today. Hostinger offers 4GB RAM VPS starting at just $4.99/mo.
Get Hostinger VPS — $4.99/mo// up to 75% off + free domain included
// related topics
// related guides
Coolify VPS Setup Guide 2026: Self-Hosted Vercel Alternative
Deploy Coolify on your VPS for a self-hosted Vercel/Netlify experience. Complete setup guide with Docker, SSL, and app deployments.
tutorial$1 VPS Hosting 2026: Cheapest VPS Servers Starting at $1/Month
Looking for $1 VPS hosting? Compare the cheapest VPS providers starting from $1-3/month. Real specs, no hidden fees, honest reviews of budget VPS options.
tutorialCaddy Reverse Proxy Guide 2026: Automatic HTTPS Made Easy
Set up Caddy as a reverse proxy with automatic HTTPS, zero-config SSL, and simple Caddyfile syntax. Complete VPS deployment guide.
tutorialCloudflare Tunnel VPS Guide 2026: Expose Services Without Opening Ports
Set up Cloudflare Tunnel on your VPS to expose web apps securely without opening ports or revealing your server IP. Complete guide with Docker and DNS config.
Andrius Putna
I am Andrius Putna. Geek. Since early 2000 in love tinkering with web technologies. Now AI. Bridging business and technology to drive meaningful impact. Combining expertise in customer experience, technology, and business strategy to deliver valuable insights. Father, open-source contributor, investor, 2xIronman, MBA graduate.
// last updated: February 8, 2026. Disclosure: This article may contain affiliate links.