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?

What is Dokploy?

What is Dokploy?

Dokploy handles the boring parts of deployment:

Dokploy vs Other Platforms

FeatureDokployCoolifyVercel
PriceFree (VPS cost)Free (VPS cost)$20+/mo
Self-hosted
Docker Compose
Multi-server
UI Simplicity⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
FeaturesGrowingMatureMost

Dokploy is newer but has a cleaner UI and faster setup.

VPS Requirements

Minimum:

Recommended:

Best VPS for Dokploy

ProviderPlanSpecsPrice
HostingerKVM11 vCPU, 4GB RAM$4.99/mo
HetznerCX212 vCPU, 4GB RAM€5.39/mo
VultrVC21 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 GetCost
Unlimited appsVPS cost only
Automatic SSLIncluded
Git deploymentsIncluded
DatabasesIncluded
Custom domainsUnlimited

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

// related guides

Andrius Putna

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.