You don’t need to pay $10/month for Google Drive. Or $3/month for 1Password. Or $8/month for Notion. You can run all of this at home, on a single Raspberry Pi if you’re careful.
But here’s the honest part: some of it is worth the effort. Some of it isn’t. I’ve run a self-hosted cloud at home for three years. This is what I’ve learned.
The Core Stack — What to Run First
Start here. These are the services that genuinely replace their cloud equivalents and are worth the setup time:
1. File Storage — Nextcloud (replaces Google Drive)
The obvious one. Nextcloud gives you:
- File sync across devices (desktop + mobile clients)
- Collaborative document editing (Collabora Online or Only Office)
- Calendar and contacts sync (CalDAV/CardDAV)
- Photo gallery with facial recognition
What it replaces: Google Drive, iCloud Drive, Dropbox
Hardware needed: 2+ CPU cores, 2GB RAM minimum, plus storage for your files. A used Dell Optiplex with a 500GB SSD works well.
Setup time: 30–60 minutes with Docker Compose
services:
nextcloud:
image: nextcloud
ports:
- "8080:80"
volumes:
- nextcloud_data:/var/www/html
- /path/to/your/files:/data
restart: unless-stopped
Verdict: ✅ Worth it. Better than Google Drive for privacy. The mobile apps are decent.
2. Password Manager — Vaultwarden (replaces 1Password, Bitwarden SaaS)
Vaultwarden is a Rust implementation of the Bitwarden API. It’s compatible with all Bitwarden apps and browser extensions, but runs on your own server.
What it replaces: 1Password, Bitwarden (paid), LastPass
Hardware needed: 512MB RAM, single core. Runs on a Pi 4 without complaint.
Setup time: 5 minutes with Docker
services:
vaultwarden:
image: vaultwarden/server:latest
ports:
- "8080:80"
volumes:
- vb_data:/data
restart: unless-stopped
environment:
- SIGNUPS_ALLOWED=false # Set to true if you want new users
Then install the Bitwarden browser extension and point it at http://your-server:8080. It works seamlessly.
Verdict: ✅ Absolutely worth it. The Bitwarden apps are excellent, and the self-hosted version is identical. This is the one service I recommend to everyone.
3. Photo Management — Immich (replaces Google Photos)
Immich is the best self-hosted Google Photos alternative I’ve tried. It:
- Auto-uploads from your phone (Android + iOS apps)
- Does facial recognition and grouping
- Has album management
- Shows location data on a map
- Handles video too
What it replaces: Google Photos (specifically the storage + auto-upload part)
Hardware needed: 4GB+ RAM recommended if you want fast AI processing. 2CPU cores minimum.
Verdict: ✅ Worth it if you have a lot of photos. Setup is a bit involved (requires PostgreSQL and MinIO), but the result is worth it.
4. DNS-Level Ad Blocking — Pi-hole (replaces every device ad blocker)
Pi-hole blocks ads and trackers at the network level. One Pi-hole instance on your router means ad-free browsing on every device — TV, phone, laptop, guest devices — without installing anything.
What it replaces: uBlock Origin (browser), AdGuard (device-level), various DNS-based blockers
Hardware needed: Raspberry Pi 3 or better. 1GB RAM. Sits idle at <5% CPU.
Setup time: 20 minutes including configuring your router to use it as DNS
docker run -d \
--name pihole \
-e WEBPASSWORD='your-password' \
-p 53:53/tcp -p 53:53/udp \
-p 80:80 \
-v pihole_data:/etc/pihole \
-v dnsmasq_data:/etc/dnsmasq.d \
--restart=unless-stopped \
pihole/pihole:latest
Verdict: ✅ Essential. Set it up once and forget it.
The Secondary Stack — Solid Options
These are good but require more commitment:
5. Smart Home — Home Assistant (replaces smart home cloud)
Home Assistant is the open-source hub that ties together every smart device you own — whether it’s Zigbee, Z-Wave, Matter, WiFi, or cloud APIs. Once configured, it lets everything talk to each other without relying on cloud services that might disappear.
What it replaces: Samsung SmartThings hub, Philips Hue bridge, Tuya cloud, Amazon Alexa routines
Hardware needed: 2GB+ RAM, SSD recommended. Runs fine on a N100 mini PC.
Verdict: ✅ Worth it if you have more than 5 smart devices. The automations you can build are genuinely impressive.
6. Media Streaming — Jellyfin (replaces Netflix)
Jellyfin organizes your movie and TV show library and streams it to any device. No subscription, no ads, your own files.
What it replaces: Netflix, Amazon Prime Video (for your own library)
Hardware needed: 2+ CPU cores for transcoding, 4GB+ RAM. GPU passthrough on a gaming rig makes transcoding fast.
Verdict: ✅ Worth it if you have a media library. Skip if you only stream subscription services.
7. Email — Mailcow (replaces Gmail)
This is where I give you the honest warning. Email is the hardest self-hosted service to run correctly:
- Deliverability (getting emails to inbox, not spam) is genuinely hard without proper SPF/DKIM/DMARC
- Spam filtering requires constant attention
- Security updates are critical — email servers are high-value targets
- Most free email providers (Gmail, Outlook) filter out emails from self-hosted domains
What it replaces: Gmail, Outlook
Hardware needed: 4GB+ RAM, 2+ cores, 50GB+ storage
Verdict: ⚠️ Only if you’re determined. For most people, using a custom domain with a paid email service (Cloudflare Email Routing is free, or FastMail at $3/month) is a better choice.
The Cloud Stack — When to Pay Instead
These are the services where self-hosting is more trouble than it’s worth:
| Service | Self-hosted alternative | Better choice |
|---|---|---|
| Mailcow | Cloudflare Email Routing (free) or FastMail ($3/mo) | |
| Note-taking | Outline, AppFlowy | Obsidian (local) + sync via Nextcloud |
| Video calls | Jitsi, Matrix | Google Meet, Zoom |
| CI/CD | Gitea Actions | GitHub Actions (free tier is generous) |
| Object storage | MinIO | Wasabi ($1/TB/mo, no egress fees), or Backblaze B2 |
| Maps/GPS | Self-hosted OSM tiles | OpenStreetMap + Nextcloud Maps |
The rule I follow: if the self-hosted version requires more than 30 minutes of maintenance per month, and a managed alternative costs under $5/month, just pay for the managed version.
Hardware Guide — What to Actually Buy
Budget ($0–$50)
A Raspberry Pi 4 (4GB) is enough for:
- Pi-hole
- Vaultwarden
- One small service
Starter Homelab ($100–$200)
A used Dell Optiplex Micro (i5-8th gen, 16GB RAM, SSD) runs:
- Everything above
- Nextcloud
- Jellyfin (single concurrent stream)
- Home Assistant
- Pi-hole + Vaultwarden + Jellyfin simultaneously
Proper Homelab ($300–$600)
A N100 mini PC (Beelink EQ12, Minisforum UN100L) or a used Dell PowerEdge R320:
- All of the above
- Multiple concurrent Jellyfin streams
- Plex (hardware transcoding)
- Multiple heavy services
- Network-wide backups
“I want to go serious” ($800+)
Build a proper server: an ASRock DeskMini X300 with ECC RAM, or a Supermicro 1U rackmount if you have a closet for it.
The Decision Framework
Before you set anything up, ask yourself:
How much is this data worth to me? Passwords and photos → definitely self-host. Holiday photos from 2019 → not worth the effort.
How much time will I spend maintaining it? Set a timer. If setup + first-year maintenance exceeds $200 of your time at your hourly rate, just pay for the cloud service.
What’s my internet upload speed? Most self-hosted services need decent upload (10+ Mbps). If you’re on a slow connection, the cloud is better.
Do I need it when I’m away from home? DynDNS + custom domain + VPN (WireGuard) solves this. Or Tailscale — free, zero-config VPN that works through NAT.
The Practical Starting Point
If you’re new to this, here’s the order I’d go:
Week 1: Vaultwarden + Pi-hole (low effort, immediate value) Week 2: Nextcloud (file sync across devices) Week 3: WireGuard VPN (access your home network from anywhere) Week 4: Home Assistant (if you have smart devices) or Jellyfin (if you have media)
That’s four services. You now have better password management, ad-free browsing, file sync, and remote access than most people pay subscription fees for.
Have questions about any specific service? Drop me a line — I’ll write a deeper guide on whatever you’re stuck on.