Self-hosting used to be a niche hobby for sysadmins with too much spare time and an unhealthy attachment to home servers. In 2026, it's having a quiet renaissance — partly because cloud subscriptions add up to silly money, partly because privacy actually matters now, and partly because Docker made running half a dozen services on one box almost embarrassingly easy. This guide covers what's worth self-hosting, how to architect it on a single VPS, and the gotchas that send first-time self-hosters back to SaaS.

What's in this guide

  1. Why self-host in 2026
  2. What's actually worth self-hosting
  3. VPS vs home server: pick a side
  4. Sizing your VPS for self-hosting
  5. A clean self-hosted stack architecture
  6. The popular self-hosted apps, ranked by effort/value
  7. Security considerations specific to self-hosting
  8. Mistakes that send people back to SaaS
  9. FAQ

Why self-host in 2026

The case for self-hosting got stronger in the last three years, and not because the software got cosmetically nicer. It got stronger for boring economic and structural reasons.

Subscriptions stack up. A typical professional has a Notion subscription, a Dropbox or Google Drive subscription, a 1Password account, a Spotify or Apple Music account, a streaming TV bundle or two, and probably a half-dozen other recurring SaaS items. Add it up — most people are spending $50-100 a month on stuff that, in aggregate, replaces with one $5/mo VPS and a Sunday afternoon of setup.

The "platform risk" lesson finally landed. Whenever a major platform shuts down a popular product (Google has done this enough times to have a memorial site), you remember that nothing you don't host yourself is permanent. Self-hosting trades convenience for ownership. Many people decided in the last few years that the trade is worth making for at least their important data.

Privacy is not paranoid anymore. Mainstream apps mine the data they hold. Self-hosted alternatives don't, almost by definition — there's no business model that requires it.

Docker (or really, Docker Compose) made it possible for normal humans. Five years ago, self-hosting Nextcloud meant installing Apache, PHP, MariaDB, configuring all three, and then debugging the result for a week. Today it's three lines of YAML in a docker-compose file and 30 seconds of docker compose up -d. The whole genre got dramatically more accessible.

What's actually worth self-hosting

Not everything benefits from self-hosting. Here's our honest split.

Worth self-hosting (high value, manageable effort)

Worth self-hosting if you're technical (medium effort)

Probably not worth self-hosting

VPS vs home server: pick a side

Self-hosters split into two camps: VPS hosters and home-server hosters. Both are valid; the trade-offs are different.

Home server: a Raspberry Pi, NUC, or refurbished mini-PC

Pros: No monthly cost beyond electricity. Storage is cheap (your own SSDs/HDDs). Fast LAN access for things like media streaming. No bandwidth fees ever.

Cons: Your home internet connection is your bottleneck. Most consumer ISPs upload at 20-50 Mbps, which isn't enough to share Nextcloud or stream Jellyfin to multiple users. Power cuts and ISP outages take you down. Hardware fails and you're the one buying replacements. Remote access requires WireGuard, Tailscale, or port forwarding (each with security considerations).

VPS: an internet-hosted box

Pros: Fast symmetric upload (matches download). Always-on, never-takes-a-power-cut. No hardware to maintain. Can be in a region with fast access to wherever you are. Storage and compute upgrades are clicks, not shopping trips.

Cons: Monthly cost. Bandwidth metered (though generous on quality hosts). Storage is more expensive than home spinning rust if you need terabytes.

The honest pick

If you're self-hosting things that need fast remote access (Bitwarden, Nextcloud, Jellyfin streamed to friends, mail) — VPS wins. If you're self-hosting big media libraries that only you access, on a fast home connection — home server wins. Many self-hosters end up running both: a VPS for the always-online services, a home box for the big-storage stuff. They can talk to each other via WireGuard.

Sizing your VPS for self-hosting

Self-hosting workloads are surprisingly light most of the time and surprisingly spiky some of the time. Here's the honest sizing guide.

1GB RAM, 1 vCPU, 25GB NVMe (~$4/mo)

Plenty for: Vaultwarden, Pi-hole, WireGuard, FreshRSS, a couple of small services. The 25GB disk is fine if you're not storing media. OliveVPS Starter sits in this tier.

2GB RAM, 1-2 vCPU, 60GB NVMe (~$8/mo)

The sweet spot for most self-hosters. Comfortably runs Nextcloud (small file collection), Vaultwarden, Pi-hole, WireGuard, and a Gitea or Mastodon instance — all on one box, with room to breathe. OliveVPS Pro.

4GB RAM, 2 vCPU, 120GB NVMe (~$16/mo)

Adds Jellyfin (with light transcoding), more headroom for Nextcloud with bigger files, room for a Postgres database, and a couple of side projects without thinking about RAM. OliveVPS Premium.

8GB+ and beyond

Real Mastodon instances, big Postgres workloads, multiple Java apps, ML inference. Most self-hosters don't need this; if you do, you already know.

💡

RAM is the most common bottleneck, not CPU. Modern self-hosted apps are mostly idle in CPU terms but each holds 50-300MB of resident memory. Six containers x 200MB each = 1.2GB before any actual work. Plan for that.

A clean self-hosted stack architecture

Most self-hosters end up with the same basic architecture, and it works. Here's the shape.

Layer 1: Reverse proxy (Nginx or Caddy)

One web server in front of everything, handling HTTPS termination, routing requests to the right backend container, and dealing with Let's Encrypt certificates. Caddy auto-configures HTTPS by default and is the easiest pick for self-hosters; Nginx is more powerful and more customizable. Either is fine.

Layer 2: Docker Compose

One docker-compose.yml per app, organized in a directory tree like:

~/services/
├── bitwarden/
│   └── docker-compose.yml
├── nextcloud/
│   └── docker-compose.yml
├── jellyfin/
│   └── docker-compose.yml
└── caddy/
    ├── Caddyfile
    └── docker-compose.yml

Each service stays isolated; you bring them up or down independently. Our Docker setup guide covers the install side.

Layer 3: Persistent storage in named volumes

Map all important data into named Docker volumes (or bind-mounts to a known path), so backups can target one directory and capture everything. Don't store data inside containers themselves — when the container restarts, anything not in a volume is gone.

Layer 4: Backups (offsite)

Daily restic or borgbackup of your data directory to S3-compatible storage (Backblaze B2, Cloudflare R2, Hetzner Storage Box) or a different VPS entirely. The backup section in our Linux VPS guide goes deeper.

Layer 5: Authentication (optional but nice)

If you're hosting more than two or three services, consider an SSO layer like Authelia or Authentik in front. One login covers everything; 2FA is centralized; lockouts are easier to manage.

From "do this first" to "wait until you're comfortable":

  1. Vaultwarden (Bitwarden): 30 minutes to set up, replaces a $36/yr subscription. Highest value-per-effort. Guide.
  2. WireGuard VPN: 30 minutes, lets you securely access your VPS from anywhere. Guide.
  3. Pi-hole / AdGuard Home: 20 minutes, blocks ads network-wide. Guide.
  4. Nextcloud: 1 hour for first-time setup, replaces Dropbox + Google Calendar + Google Contacts. Guide.
  5. Jellyfin: 30 minutes if you have media ready, replaces Plex (which has been adding annoyances). Guide.
  6. Gitea / Forgejo: 30 minutes, gives you a private GitHub.
  7. Email server: 4-8 hours of careful setup, ongoing maintenance, real risk of deliverability problems. Only if you really want it. Guide.

The right VPS for self-hosting

NVMe storage so your apps don't crawl, dedicated CPU cores so your neighbors can't slow you down, and 20+ regions so you can host close to home. Starting at $3.99/mo.

See VPS Plans →

Security considerations specific to self-hosting

Self-hosted services are internet-facing. They are getting scanned, right now, by bots that don't care who you are. Here's the minimum you need to know.

Don't expose admin panels directly. Many self-hosted apps have admin panels with default or weak credentials. Either change the credentials immediately, restrict the admin path to your IP, or put it behind a VPN. Bots find /admin, /wp-admin, and /login within minutes of a service appearing on the internet.

Use strong unique passwords (the irony of using your password manager to log into your password manager — set up Vaultwarden first).

Patch promptly. Self-hosted apps get vulnerabilities like everything else. Subscribe to release announcements for the apps you run, and aim to update within a week of a security release.

Layer authentication where it matters. An SSO front-end like Authelia means a single point of strength rather than a dozen weak points.

Backup your way out of ransomware. Ransomware that encrypts your VPS is rare but possible. The defense is offsite, immutable backups (versioned, can't be deleted from the VPS itself).

Mistakes that send people back to SaaS

We've seen the same patterns enough times to name them.

Self-hosting too much, too fast. Don't try to spin up Nextcloud, Bitwarden, Mastodon, Jellyfin, and a custom mail server in week one. Pick one service. Get it stable. Use it for a month. Then add the next.

Treating it like a deploy-and-forget setup. Self-hosted services need updates, occasional troubleshooting, and backups verified. If you can't commit ten minutes a week to maintenance, self-hosting isn't for you (and that's fine).

No backup, then a disk failure. The classic. Set up backups before you put real data into a self-hosted service.

Trying to host email without understanding deliverability. Self-hosted mail servers are a graduate-level project. Without proper SPF/DKIM/DMARC, reverse DNS, and an IP that hasn't been blocklisted, your "from" emails go to spam. Most beginners give up on this within two months.

Cheap-host syndrome. Saving $3/month by picking the cheapest possible VPS, only to spend an evening every week troubleshooting throttled CPU and slow storage. Cheap is fine. Worth-the-money is better.

FAQ

How much does it cost to self-host all my services?

Most self-hosters spend $5-15/month on a VPS that runs the popular services (Bitwarden, Nextcloud, Pi-hole, WireGuard, etc.). For comparison, the SaaS equivalents — Bitwarden Premium, Dropbox 2TB, Plex Pass, NordVPN, etc. — easily total $50-80/month. Self-hosting pays for itself in about a month for most users.

Is self-hosting hard?

Less than it used to be. With Docker Compose, most popular apps deploy in a few minutes. The hard parts are: keeping things updated, configuring backups, and debugging when something breaks. If you're comfortable using SSH and willing to read documentation, you can self-host. If cd and ls are unfamiliar, learn those first.

What's the best VPS for self-hosting?

The honest answer: any host with NVMe storage, KVM virtualization, dedicated CPU cores, and reasonable bandwidth allowances. Avoid OpenVZ-based hosts (Docker doesn't work right). Avoid hosts with surprise bandwidth bills. OliveVPS covers all four.

Can I self-host on a free tier?

Oracle Cloud Free Tier and Google Cloud Free Tier exist and people do use them. The catch: free tiers vanish without warning, get heavily oversubscribed, and the terms of service can change. If you're hosting things you actually rely on, the $4/mo for a real VPS is cheap insurance.

What about Docker security?

Docker containers share the host kernel. A container escape is rare but possible. Mitigations: use rootless Docker if you can, run containers as non-root users where the image supports it, keep the host kernel patched, and don't grant containers extra capabilities they don't need (no --privileged unless absolutely necessary).

🐱
The OliveVPS Team

Engineers who run thousands of VPS instances and self-host most of our own tooling.