Dokploy VPS Setup Guide 2026: Open-Source Vercel Alternative
TUTORIAL 11 min read fordnox

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?

Dokploy handles the boring parts of deployment:

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:

Recommended:

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

  1. Sign up with Hetzner or Hostinger
  2. Create Ubuntu 22.04 server
  3. Add SSH key
  4. Note the IP address

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:

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

  1. Go to Settings
  2. Set Server Domain: dokploy.yourdomain.com
  3. Enable SSL/TLS
  4. Enter email for Let's Encrypt
  5. Save

Now access via https://dokploy.yourdomain.com

Deploying Applications

Deploy from GitHub

  1. Projects → New Project
  2. Add Application
  3. Select source: GitHub
  4. Authorize GitHub access
  5. Choose repository
  6. Click Deploy

Dokploy auto-detects:

Deploy with Docker Compose

For existing compose projects:

  1. Create Application → Docker Compose
  2. Paste your compose file or select from repo
  3. Deploy

Example compose:

version: '3.8'
services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"

Deploy Dockerfile

  1. Create Application → Dockerfile
  2. Point to repo with Dockerfile
  3. Dokploy builds and deploys

Database Setup

PostgreSQL

  1. Projects → Select project
  2. Add Service → PostgreSQL
  3. Set database name and password
  4. Deploy

Connection string shows in dashboard:

postgresql://postgres:password@postgres-xxx:5432/dbname

MySQL

Same process:

  1. Add Service → MySQL
  2. Configure credentials
  3. Deploy

Redis

  1. Add Service → Redis
  2. Deploy
  3. Use redis://redis-xxx:6379

Custom Domains

Add Domain to App

  1. Select application
  2. Domains tab
  3. Add: app.yourdomain.com
  4. SSL automatically provisioned

Redirect www to non-www

Add both domains, Dokploy handles redirects:

yourdomain.com
www.yourdomain.com

Environment Variables

Application Variables

  1. Select app → Environment
  2. Add variables:
DATABASE_URL=postgresql://...
SECRET_KEY=your-secret
NODE_ENV=production

Secrets (Encrypted)

For sensitive data:

  1. SettingsSecrets
  2. Create secret
  3. Reference in apps: {{SECRET_NAME}}

Deployments & Rollbacks

Automatic Deployments

Enable webhooks:

  1. App settings → Build
  2. Enable Auto Deploy
  3. Push to main triggers rebuild

Manual Deploy

Click Deploy button anytime.

Rollback

  1. Deployments tab
  2. Find previous deployment
  3. Click Rollback

Monitoring

Real-time Logs

  1. Select application
  2. Logs tab
  3. Stream logs in real-time

Resource Usage

Dashboard shows:

Health Checks

Configure in app settings:

Health Check Path: /health
Interval: 30s
Timeout: 5s

Backups

Database Backups

  1. Select database
  2. Backups → Enable
  3. Set schedule
  4. 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:

  1. Servers → Add Server
  2. Install Dokploy agent on new VPS:
    curl -sSL https://dokploy.com/install-agent.sh | sh
    
  3. Add server token to Dokploy
  4. Deploy apps to specific servers

Use cases:

Common Deployments

Next.js

  1. Create app → GitHub → Select repo
  2. Build command: npm run build
  3. Start command: npm start
  4. 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

  1. Create app → GitHub
  2. Build: npm run build
  3. Publish directory: dist or build
  4. Dokploy serves static files

WordPress

  1. Add Service → WordPress
  2. One-click setup includes MySQL
  3. Configure domain
  4. Done

Troubleshooting

Deployment Fails

Check logs:

  1. App → Deployments → Failed deployment
  2. View build logs
  3. Common issues:
    • Missing dependencies
    • Port mismatch
    • Build command wrong

SSL Not Working

  1. Verify DNS points to server
  2. Wait for propagation
  3. Check ports 80/443 open
  4. Restart Traefik:
    docker restart dokploy-traefik
    

Out of Memory

  1. Check with docker stats
  2. Add swap:
    fallocate -l 2G /swapfile
    chmod 600 /swapfile
    mkswap /swapfile
    swapon /swapfile
    
  3. 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:

  1. Get Hostinger VPS ($4.99/mo)
  2. Install Dokploy
  3. Connect GitHub
  4. Deploy everything

That's $5/month for your own Vercel. No limits, no vendor lock-in, full control.

~/dokploy-vps-guide/get-started

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

dokploy dokploy setup self-hosted vercel dokploy vps paas self-hosted

fordnox

Expert VPS reviews and hosting guides. We test every provider we recommend.

// last updated: February 8, 2026. Disclosure: This article may contain affiliate links.