The Self-Hosting
Handbook
A free, tool-agnostic course on deploying real applications to your own servers.
No prior DevOps experience required. By the end, you’ll take a side project from localhost to a production VPS with a custom domain, SSL, backups, and zero-downtime deploys.
Built and maintained by the team behind Server Compass. The course teaches first principles — Server Compass is just one way to apply them.
Who this is for
- Developers tired of paying $20–$200/mo for managed hosts
- Indie hackers shipping side projects on a budget
- Backend engineers who can write code but freeze at "deploy"
- Anyone migrating off Vercel, Heroku, Render, or Forge
What you’ll learn
- Pick the right VPS provider for your workload and budget
- Harden a fresh server against the most common attacks
- Deploy any Dockerized app with a custom domain and free SSL
- Set up automated backups you can actually restore from
- Build a CI/CD pipeline with GitHub Actions
- Migrate existing apps off managed platforms without downtime
Curriculum
Twelve lessons across five parts. Each lesson is self-contained — read in order or skip around.
Foundations
Pick a VPS, harden it, and learn just enough Docker to ship.
Routing the Internet to Your Server
DNS, reverse proxies, and automatic SSL certificates.
Shipping Real Apps
Deploy a real app with a database and backups you can restore.
Deploying Your First App
From git clone to a live HTTPS URL, end to end.
Next.js on PM2 — The Docker-Free Path
Deploy Next.js to a VPS with Node, PM2, and nginx — no containers required.
Databases Done Right
"It works" vs "it survives a reboot" — the difference is one line.
Backups You Can Actually Restore
The backup nobody tests is the backup that doesn't exist.
Production-Grade
CI/CD, monitoring, secrets, and zero-downtime deploys.
CI/CD with GitHub Actions
Why this beats "git pull && restart" for any team larger than one.
Monitoring, Logs & Alerts
Knowing your server is down before your users tell you.
Secrets, Zero-Downtime & Rollbacks
Why `.env` files end up in git history and how to avoid it.
Migration
Move off Vercel, Heroku, Render, Forge, Coolify, and more.
How to use this course
- Read in order if you’re new. Each lesson builds on the previous one.
- Skip around if you’re experienced. Each lesson is self-contained enough to read standalone.
- Type the commands yourself. Copy-paste works, but typing builds muscle memory.
- Break things on purpose. Spin up a $5 VPS as your "lab server". Reformatting it is free.
A note on tools
This course uses Docker, Traefik, Postgres, and GitHub Actions because they’re free, open, and what real teams ship with. No lesson requires Server Compass.
That said — every lesson includes a short “Easy mode” sidebar showing how Server Compass automates that step. If you’d rather click a button than copy a 40-line docker-compose file, that’s what we built.
More Resources
The course is CC BY 4.0 — free to share, remix, and translate, with attribution.