
Essential Homelab Services: The 10 Apps You Need
From media servers to monitoring, here are the 10 self-hosted services that form the backbone of any serious homelab.
Essential Homelab Services: The 10 Apps You Need
You've got your hardware. You've installed TrueNAS or Proxmox. Now what?
Homelabbing isn't just about servers and storage—it's about services. Applications that make your lab useful, automated, and enjoyable.
Here are the 10 essential self-hosted services that every serious homelab should consider, plus how to fit them all together.
The Media Stack: Your Personal Netflix & YouTube
1. Jellyfin (or Plex)
What it does: Media server. Organises your movies, TV shows, and music into a beautiful, accessible interface.
Why you need it: Jellyfin is open-source, privacy-focused, and free. It auto-fetches metadata, supports transcoding, and works on every platform.
How to run it: Docker Compose is easiest. Jellyfin needs a dedicated storage mount for your media library and transcode folder.
2. Sonarr & Radarr
What they do: Automation for TV (Sonarr) and movies (Radarr). They connect to indexers, search for content, and download it automatically.
Why you need them: No more manual searches. Let them run overnight and wake up to new episodes and movies ready to watch.
How to run them: Run alongside Jellyfin. They need access to your media library and a download client (qBittorrent or Deluge).
3. Overseerr
What it does: User-friendly interface for requesting content. Integrates with Jellyfin, Sonarr, and Radarr.
Why you need it: Let your family request shows/movies. Overseerr checks availability and automatically adds them to the download queue.
*The Arr Stack: Together, these three apps (Sonarr + Radarr + Overseerr) form the famous "*Arr Stack"—the industry standard for automated media management.
The Monitoring Stack: Keep Tabs on Everything
4. Uptime Kuma
What it does: Monitoring dashboard. Checks if your services are online and alerts you when they're not.
Why you need it: A server is useless if it's down. Uptime Kuma monitors your entire stack, checks SSL certificates, and alerts via Telegram, Discord, or email.
How to run it: Ultra-lightweight. One container, one port. It's the best way to know your homelab is working.
5. Heimdall
What it does: Application dashboard. A beautiful, centralised launchpad for all your services.
Why you need it: Instead of remembering plex.yourdomain.com, radarr.yourdomain.com, and heimdall.yourdomain.com, Heimdall gives you one URL with icons for everything.
How to run it: Docker or direct installation. Super easy to set up. Add bookmarks with custom icons.
The Infrastructure Stack: Make It Run
6. Nginx Proxy Manager (NPM) or Traefik
What it does: Reverse proxy. Routes traffic to the right service and handles SSL certificates (auto-letsencrypt).
Why you need it: Without it, you need to expose every port individually. With a reverse proxy, you use one port (80/443) and route paths or subdomains internally.
Nginx Proxy Manager vs Traefik:
- NPM: GUI-based, easier for beginners
- Traefik: Config-based, more powerful, better for Docker Compose users
7. Vaultwarden
What it does: Password manager. Self-hosted Bitwarden.
Why you need it: Never use a reused password again. Vaultwarden syncs across all your devices and stores your passwords securely.
How to run it: One container, one database. You can also use the official Bitwarden_rs (now Vaultwarden) binary if you prefer.
The Backup & Recovery Stack: Don't Lose Your Work
8. Proxmox Backup Server (PBS) or Restic
What it does: Backs up your VMs and containers.
Why you need it: When you inevitably mess up a VM, you'll be glad you have a snapshot or full backup to restore from.
How to run it: PBS is a dedicated backup appliance (easy GUI). Restic is CLI-based but incredibly powerful and efficient.
9. SnapRAID (Optional but Recommended)
What it does: Data integrity checker. Scans your disks for silent corruption (bitrot).
Why you need it: Hard drives slowly rot over time. SnapRAID doesn't protect against failure, but it tells you when data has corrupted.
How to run it: Install on TrueNAS or a lightweight Linux VM. Schedule monthly parity checks.
The Developer Stack: For the Tinkerers
10. Portainer or Lutris
What it does: Container management (Portainer) or app library (Lutris).
Why you need it: Portainer gives you a web UI for Docker. You can start/stop containers, view logs, and manage networks without SSH.
Portainer vs Lutris:
- Portainer: For Docker containers
- Lutris: For gaming applications (if you run Steam/Windows games in VMs)
How to Organise Your Services
The Docker Compose Approach
Most modern services support Docker Compose. Here's a common structure:
version: '3.8'
services:
# Reverse Proxy
nginx-proxy:
image: nginxproxy/nginx-proxy:latest
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- certs:/etc/nginx/certs:ro
- vhostd:/etc/nginx/vhost.d:ro
restart: unless-stopped
# Media Stack
jellyfin:
image: jellyfin/jellyfin:latest
volumes:
- media:/media
- config:/config
network_mode: service:nginx-proxy
sonarr:
image: linuxserver/sonarr:latest
volumes:
- media:/media
- downloads:/downloads
environment:
- VIRTUAL_HOST=sonarr.yourdomain.com
radarr:
image: linuxserver/radarr:latest
volumes:
- media:/media
- downloads:/downloads
environment:
- VIRTUAL_HOST=radarr.yourdomain.com
# Monitoring
uptime-kuma:
image: louislam/uptime-kuma:latest
ports:
- "3001:3001"
volumes:
- uptime-kuma:/app/data
restart: unless-stopped
volumes:
media:
config:
downloads:
uptime-kuma:
certs:
vhostd:
The VM vs Container Decision
- Use Containers for: Web services, databases, lightweight apps (Jellyfin, Sonarr, Radarr, Uptime Kuma)
- Use VMs for: Resource-heavy apps, Windows-only software, services needing direct hardware access
Resource Allocation Tips
- Start small and scale up
- Never allocate 100% of RAM or CPU
- Use CPU pinning for consistent performance (advanced)
- Enable swap space (at least 2GB) as a safety net
Getting Started: Your First Week
- Week 1: Install Jellyfin + NPM. Load your media. Set up basic networking.
- Week 2: Add Sonarr + Radarr. Configure a few test downloads.
- Week 3: Add Uptime Kuma + Heimdall. Set up monitoring and a launchpad.
- Week 4: Add Vaultwarden + PBS. Secure your passwords and set up backups.
You don't need all 10 services on day one. Start with the media stack and monitoring, then expand as your homelab grows.
Final Checklist
✅ Core stack: Jellyfin + NPM + Uptime Kuma
✅ Automation: Sonarr + Radarr
✅ Security: Vaultwarden
✅ Recovery: PBS or SnapRAID
✅ Management: Heimdall or Portainer
The goal isn't to run every service. It's to run the ones that make your homelab useful, secure, and enjoyable.
Welcome to the club—now go host something!
Was this article helpful?