12 Best Self-Hosted Apps to Run on a VPS
A curated tour of the best self-hosted apps for a VPS — what each one replaces, what it needs, and where to start. Your roadmap to a private, self-run stack.

Self-hosting puts you in control of your data and cuts a stack of monthly subscriptions down to the cost of a single VPS. But with hundreds of open-source apps out there, where do you start? Here are twelve of the best self-hosted apps to run on a VPS, grouped by what they do, with honest notes on resources so you can plan. Nearly all install cleanly with Docker — if that's new, read how to run Docker on a VPS first.
Files and sync
1. Nextcloud — your private cloud
The Swiss Army knife of self-hosting: file sync, calendars, contacts, photos and document editing, all in one. Replaces Dropbox and Google Drive.
- Needs: 2 GB+ RAM, a database, HTTPS.
- Start here: how to self-host Nextcloud on a VPS.
2. Syncthing — no-cloud folder sync
Continuous, encrypted folder sync between devices with no central server. An always-on VPS acts as the hub so devices sync even when they're never online together.
- Needs: minimal — runs on the smallest plan.
- Start here: how to self-host Syncthing for file sync.
Media
3. Jellyfin — free media server
Stream your movies, TV and music with no account and no paywall. The free-forever alternative to Plex.
- Needs: CPU for transcoding; favour direct play on a VPS.
- Start here: how to self-host Jellyfin.
4. Navidrome — your own Spotify
A lightweight music streaming server compatible with a great ecosystem of mobile apps. Sips resources.
- Needs: very little RAM; storage for your library.
- Start here: how to self-host Navidrome.
5. Immich — Google Photos, self-hosted
Automatic phone photo backup with smart search and shared albums. The most polished self-hosted photo solution.
- Needs: 2 GB+ RAM and plenty of block storage for the library.
- Start here: how to self-host Immich.
Security and networking
6. Vaultwarden — your password vault
A lightweight Bitwarden-compatible server. Your passwords, your server, official apps.
- Needs: tiny footprint; HTTPS and backups are essential.
- Start here: how to self-host Vaultwarden.
7. WireGuard — your own VPN
A fast, modern VPN for secure browsing on public Wi-Fi and private access to your other services.
- Needs: almost nothing; bandwidth is the limit.
- Start here: how to set up a WireGuard VPN server.
8. Pi-hole — network-wide ad blocking
A DNS sinkhole that blocks ads and trackers for every device. Best paired with a VPN so DNS isn't exposed.
- Needs: minimal; secure port 53 carefully.
- Start here: how to self-host Pi-hole.
Productivity and automation
9. n8n — workflow automation
A self-hosted Zapier alternative with no per-task fees and hundreds of integrations.
- Needs: 2 GB RAM, HTTPS for webhooks.
- Start here: how to self-host n8n.
10. FreshRSS — your own news reader
A fast RSS aggregator that syncs to mobile apps. A great, low-effort first self-hosted app.
- Needs: tiny; runs on the smallest VPS.
- Start here: how to self-host FreshRSS.
Monitoring
11. Uptime Kuma — uptime monitoring
Beautiful monitoring with instant alerts and a built-in public status page.
- Needs: minimal; ideally on a separate box.
- Start here: how to self-host Uptime Kuma.
12. Grafana + Prometheus — metrics and dashboards
The standard stack for deep server and app metrics, with dashboards and alerting.
- Needs: a little more RAM; great for a fleet.
- Start here: how to self-host Grafana and Prometheus.

How to plan your VPS
You can run several of these on one server if you size it right. A rough guide:
- 1–2 GB VPS: a couple of light apps — Vaultwarden, FreshRSS, WireGuard, Uptime Kuma.
- 4 GB VPS: a mixed stack — Nextcloud plus a few small services.
- 8 GB+ VPS: media, photos and heavier apps together, ideally with block storage attached.
Put everything behind a reverse proxy for tidy HTTPS, and lock the firewall to 80/443/SSH. New to server security? Work through securing your first Linux VPS.

A few ground rules for a healthy stack
Whatever mix you run, the same handful of practices keep a self-hosted setup happy:
- One reverse proxy, automatic TLS. Put Caddy or Nginx in front of everything so each app gets a clean HTTPS subdomain and you manage certificates in one place.
- A tight firewall. Expose only 80, 443 and SSH; keep app ports bound to localhost and reach admin panels over SSH tunnels or a VPN.
- Back up the data, not the containers. Containers are disposable; your volumes and databases are not. Automate backups off-server and actually test a restore.
- Update on a schedule.
docker compose pull && docker compose up -dper stack, after reading release notes for anything with breaking changes. - Watch resources. Run a monitor so you notice a runaway container before it takes the whole box down.
Start with one or two apps, get this pattern into muscle memory, then add more. Almost every guide linked above follows the same shape — Docker Compose, a reverse proxy, a firewall and backups — so once you've deployed one, the rest feel familiar.
FAQ
Can I run all these on one VPS?
Several, yes — with enough RAM and a reverse proxy in front. Heavy apps (media, photos) benefit from their own resources; light apps happily share a box.
Do I need Docker for self-hosting?
It's not mandatory, but Docker Compose is the standard and makes installs and upgrades a one-line command. Almost every guide here uses it.
What's the easiest self-hosted app to start with?
FreshRSS or Uptime Kuma — both are tiny, single-container installs that teach you the reverse-proxy-and-firewall pattern you'll reuse everywhere.
How much does self-hosting cost?
Just the VPS (and a domain). One affordable server can replace several subscriptions, which is a big part of the appeal.
Ready to build your own stack? Start on an affordable NVMe VPS with one-click app images, or size a plan on the pricing page.