// Migration Guide · 2026
Migrate from Dokku to Runsite
Dokku gives you Heroku-style deploys on your own server — but you own the server, the upgrades and the backups. Runsite runs the same buildpack and Procfile workflow fully managed in Frankfurt.
- ~10 min
- typical migration
- No server to babysit
- keep your workflow
- Keep Dokku running
- until you cut over
// the mental model
Every Dokku concept has a Runsite home
Dokku uses buildpacks or a Dockerfile and a Procfile, just like Heroku. Every piece maps onto a managed Runsite resource — without you running the host.
web: gunicorn app:app
worker: celery -A app worker
release: python manage.py migrate - →git push dokku maindokkugit push → auto-build autoBuildpacks and Dockerfile both detected automatically
- →Procfile web processdokkuWeb service start command autoYour web: line becomes the start command, unchanged
- →Procfile worker processdokkuBackground worker you doRecreate the worker process explicitly for now
- →postgres plugindokkuManaged PostgreSQL you doProvision in Frankfurt; dump and restore your data
- →redis plugindokkuManaged Redis you doSpin one up; point REDIS_URL at it
- →config:set varsdokkuEnvironment variables you doPaste config once; encrypted at rest
// step by step
From Dokku to live in the EU
Six steps. Most of them take seconds. Dokku keeps serving traffic until you flip your DNS.
- 1
Create a Runsite project
~30 secSign in at runsite.app and create an empty project. No credit card, no sales call.
- 2
Connect your Git repo
GitHub · GitLab · BitbucketAuthorize GitHub, GitLab or Bitbucket. Runsite scans the selected branch for your Procfile and detects the stack automatically.
- 3
Review the detected setup
Full preview before provisioningRunsite lists every service, database and env var it found and how each maps onto a Runsite resource. Tweak build or start commands inline. Nothing is created yet.
- 4
Provision in Frankfurt
One click · eu-centralCreate the whole stack in one step. Cross-resource env vars are wired up for you, and you get fresh database and Redis credentials in the EU.
- 5
Drop in your secrets
Secrets stay out of GitSecret values are never read from your repo. Paste API keys and tokens once in the dashboard; they're encrypted at rest and never logged.
- 6
Push to go live
Live in < 2 mingit push and your app builds and deploys in the EU in under two minutes. Point your custom domain when ready. Dokku keeps running until you cut over.
// no surprises
What moves on its own — and what you touch
Honest about the boundaries. The supported stack is recreated in one click; a short list needs a human, and Runsite flags every item.
Imported automatically
- ✓ Buildpack and Dockerfile builds
- ✓ Procfile web process as the start command
- ✓ Auto-deploy on git push
- ✓ Health checks
You handle once
- → Worker / release processes — recreate explicitly
- → Postgres plugin data — dump and restore into managed PostgreSQL
- → Redis plugin — recreate as managed Redis
- → config:set variables — paste once after import
// dokku problems → runsite solutions
Common Dokku frustrations — sound familiar?
Every Dokku frustration, solved.
Dokku problem
"My Dokku server rebooted and everything went down"
Dokku is single-node. One VPS failure takes all your apps, databases, and SSL certificates offline.
Runsite solution
Managed multi-node infrastructure
Your apps run on redundant infrastructure with auto-failover. No single machine can take everything down.
Dokku problem
"I spend weekends patching the OS"
Self-hosting means you're responsible for security patches, kernel updates, and disk space monitoring.
Runsite solution
Fully managed — we handle the ops
Push code, get a URL. OS updates, security patches, and monitoring are our problem, not yours.
Dokku problem
"Database backups? I forgot to set those up"
Dokku databases are plugins running on the same host. Backups require manual cron setup.
Runsite solution
Auto-backups on managed PostgreSQL
Automated daily backups with point-in-time recovery. Your data is safe without any setup on your part.
// comparison
Runsite vs Dokku
Side-by-side. No marketing fluff — just facts.
| Feature | Runsite | Dokku |
|---|---|---|
| Infrastructure | ✓ Fully managed, multi-node | Single VPS, you manage |
| High Availability | ✓ Multi-node, auto-failover | ✗ Single node = single point of failure |
| Managed PostgreSQL | ✓ From €5/mo, auto-backups | ✗ Runs on same host, manual backups |
| SSL Certificates | ✓ Automatic | Via plugin (dokku-letsencrypt) |
| Spending Limits | ✓ Hard cap + Telegram alerts | ✗ VPS bill can spike |
| Deploy from Git | ✓ | ✓ (Buildpacks) |
| Docker Support | ✓ | ✓ |
| Total Cost (small app) | €5/mo | $5-10/mo VPS + your time |
// migration questions
Migrating from Dokku, answered
Do I still run a server with Runsite?
No. Dokku runs on a host you provision, secure and upgrade yourself. Runsite is fully managed — no SSH, no plugin upkeep and no OS patching.
Does my Procfile still work?
Yes. Runsite reads your Procfile and turns the web: process into the start command, exactly as Dokku and Heroku do. Worker and release processes are flagged so you can recreate them.
How do I move Dokku Postgres data?
Runsite provisions a managed PostgreSQL in Frankfurt. Use the Dokku postgres plugin's export, then pg_restore into Runsite; the new connection string is auto-wired into DATABASE_URL.
Is migrating from Dokku risky?
No. Your Dokku app keeps running while you verify on Runsite, then you cut over with DNS. You also remove the risk of a self-hosted host failing.
Why migrate from Dokku to Runsite?
You keep the buildpack and git-push workflow but drop self-hosting, gaining an EU Frankfurt region for GDPR, predictable EUR pricing with hard spending caps and a permanent free tier.
Leave Dokku behind
Bring your Procfile. We'll handle the rest — in Frankfurt.
Start your migration →