Dokploy: The Self-Hosted Deployment Platform (Review & Guide)
A comprehensive review of Dokploy — the self-hosted Heroku/Vercel alternative. Setup guide, real-world usage, and why we chose it for production infrastructure.
We run 6+ production applications on a single server using Dokploy. This is our honest review after months of real-world usage — including the parts that aren't in the marketing material.
What is Dokploy?
Dokploy is an open-source, self-hosted platform-as-a-service (PaaS). Think Heroku or Railway, but running on your own server. It provides:
- Git-push deployments — push code, it builds and deploys
- Docker & Docker Compose support — deploy any containerised application
- Automatic SSL — via Traefik and Let's Encrypt
- Domain management — point domains and configure routing
- Database provisioning — spin up Postgres, MySQL, MongoDB, Redis
- Monitoring — basic resource monitoring and logs
- Web UI — manage everything from a browser
Why We Chose Dokploy
At QuikCue, we needed to run multiple applications (PledgeNow, company site, JustVitamin, Ghost blogs, Gitea, monitoring tools) on a single dedicated server. The alternatives were:
| Option | Monthly Cost | Verdict |
|---|---|---|
| Heroku | £200-500+ | Expensive for multiple apps |
| Railway / Render | £100-300+ | Better pricing but still adds up |
| Vercel + separate DB | £50-200+ | Frontend only, need separate backend/DB hosting |
| Coolify | £0 (self-hosted) | Good alternative, but less mature Docker Compose support at the time |
| Dokploy | £0 (self-hosted) + £40/mo server | Full control, Docker Compose native, Traefik built-in |
The deciding factor: Dokploy natively supports Docker Compose deployments with automatic Traefik routing. We define our multi-container applications in compose files, and Dokploy handles the rest.
Setup Guide
Requirements
- A Linux server (Ubuntu 22.04+ or Debian 12+)
- Docker installed
- Minimum 2GB RAM (4GB+ recommended)
- A domain pointing to your server
Installation
curl -sSL https://dokploy.com/install.sh | sh
That's it. Seriously. The script installs Docker (if needed), pulls the Dokploy containers, sets up Traefik with automatic SSL, and gives you a web UI at https://your-server:3000.
What We Run on Dokploy
- PledgeNow — Next.js + Postgres (Docker Compose)
- QuikCue site — Static HTML + nginx (Docker Swarm service)
- Ghost blogs — 2 instances + MySQL (Docker Compose, standalone)
- Gitea — Self-hosted Git (Docker)
- JustVitamin — Python Flask + Postgres (Docker Compose)
Total server cost: ~£40/month for a dedicated server with 64GB RAM.
The Good
- Docker Compose native — the killer feature. Define multi-container apps properly.
- Traefik integration — automatic SSL, routing, load balancing. Just works.
- Git webhooks — push to your repo, Dokploy rebuilds and deploys.
- Web UI — monitor containers, view logs, manage domains without SSH.
- Open source — no vendor lock-in, no surprise pricing changes.
- Active development — regular releases, responsive community.
The Not-So-Good
- Docker Swarm mode — Dokploy uses Swarm for some features. This adds complexity if you're used to plain Docker Compose.
- File-based Traefik config can conflict with Swarm labels — we learned this the hard way when routing didn't work for standalone compose services.
- Limited multi-server — designed for single-server. Multi-node requires manual Swarm setup.
- Backup story — you need to handle database backups yourself.
- Documentation gaps — some advanced features are under-documented.
Tips from Production
- Use standalone Docker Compose for applications that need their own network and volumes. Don't force everything through Swarm.
- Use file-based Traefik config for standalone compose services (place YAML files in
/etc/dokploy/traefik/dynamic/). - Set COMPOSE_PROJECT_NAME explicitly to avoid container naming surprises.
- Back up volumes regularly — Dokploy won't do this for you.
- Monitor with Dokploy's built-in tools but also set up external monitoring (uptime checks at minimum).
Verdict
Dokploy is the best self-hosted PaaS for teams that want Heroku-like convenience without Heroku-like bills. If you're comfortable with Docker and don't mind occasional rough edges, it's an excellent choice.
We've been running production workloads on it for months with near-zero downtime. The total cost (server + domain) is under £50/month for infrastructure that would cost £500+ on managed platforms.
Need Infrastructure Help?
QuikCue sets up production infrastructure for startups and charities. Docker, Traefik, CI/CD, monitoring — deployed and running in days, not months.
We build autonomous systems for charities.
Pledge collection, payment processing, WhatsApp automation, analytics dashboards, and the infrastructure that lets a small team do the work of fifty. Free tools. Fractional technology leadership. No fluff.
Get the next deep dive in your inbox.
No spam. No weekly roundups. Just the occasional piece when we have something worth saying.
Related articles
Tech for Good: The Complete Guide to Purpose-Driven Technology
What is tech for good? How technology organisations, social enterprises, and charities use tech to create social impact. Examples, funding, and how to get started.
Why We Self-Host Everything (And You Should Consider It Too)
QuikCue runs 6+ production applications on a single £40/month server. Here's why we chose self-hosting over managed cloud — and when it makes sense for you.
Business Process Automation: The Practical Guide for UK Organisations
A practical guide to business process automation. What to automate, which tools to use, ROI calculation, and implementation strategy. No buzzwords.