Vercel got hacked… and that was the moment I decided to move everything off.
If you’re relying fully on platforms like Vercel, you’re fast - but you’re also dependent. One issue, one outage, one security scare… and you’re stuck.
So I switched to a VPS with Dokploy - and honestly, it’s way simpler than most people think.
Here’s exactly how I did it.
Why I Left Vercel? Vercel is great. No doubt.
- super fast deployments
- easy Git integration
- clean developer experience
But the downside?
- no full control
- limited flexibility
- dependency on a third-party platform
After seeing security concerns, I wanted something I fully own.
Why Dokploy + VPS
Dokploy is basically a self-hosted deployment platform.
Think of it like your own Vercel… but on your server.
- full control over your apps
- deploy using Docker
- simple UI (no complex DevOps needed)
- works great on a VPS
This combo gives you power without making things complicated.
Step 1 - Get a VPS
First, you need a server.
Basic specs are enough to start:
2 vCPU cores
8 GB RAM
100 GB NVMe disk space
8 TB bandwidth
Once your VPS is ready, connect via SSH.
Step 2 - Install Dokploy
Run the install command from their docs and it will:
- set up Dokploy
- give you access to a dashboard
After that, open your browser and log in.
Step 3 - Connect Your Project
Inside Dokploy:
- create a new project
- connect your Git repo
- configure environment variables
This is very similar to Vercel - but now it’s your infrastructure.
Step 4 - Deploy Your App
Click deploy and let Dokploy handle the rest. It will:
- build your app
- run Docker containers
- expose your app
At this point, your app is live on your VPS.
Step 5 - Secure Everything. This part is important.
Make sure you:
- enable HTTPS (SSL)
- use strong SSH keys
- close unused ports
- keep your server updated
Now you’re not just deployed - you’re secure.
Final Thoughts
Moving away from Vercel might feel scary at first.
But with Dokploy + VPS, you get:
- more control
- more flexibility
- less dependency
And once you do it once… it becomes your new default.