Homeio
⌘KSelf-hosted apps

The best self-hosted apps for your home server and homelab

At some point you get tired of paying for five subscriptions, each with their own privacy policy, and you start wondering: could I just run this myself? Turns out, yes. The self-hosting community has built strong alternatives to Google Photos, Netflix, Dropbox, and more. Here are the ones actually worth running in 2026.

Homeio
Homeio app store showing the best self-hosted apps
⌘1Beginner stack

A home lab is easier when the pieces stay connected.

Linux

Linux host

A mini PC, old desktop, NAS, Raspberry Pi, or dedicated server.

Docker

Docker apps

Run services such as Jellyfin, Immich, Pi-hole, Home Assistant, and Nextcloud.

Files and storage

Keep media, backups, app data, and shared folders visible.

Monitoring

Watch CPU, memory, disk, and network activity while services run.

Terminal access

Keep command-line control nearby for maintenance and troubleshooting.

01

Media streaming: Jellyfin, Plex, Emby

JellyfinPlexEmby

Jellyfin is what you install when you're done paying for Netflix. It runs entirely on your hardware, transcodes to any device, and doesn't require a Plex account or phone home. Hardware transcoding works out of the box on Intel Quick Sync (N100, N5095) — an N100 mini PC handles 2-3 simultaneous 1080p transcodes without breaking a sweat. Plex is smoother on TV apps and has better client polish, but the free tier has limitations and requires a Plex account. Emby is a reasonable middle ground if you want something between the two.

  • Jellyfin: fully free, no account required, excellent Intel Quick Sync and NVENC hardware transcoding
  • Plex: best TV/phone client apps, requires Plex account, Plex Pass needed for offline sync and hardware transcoding
  • Emby: polished UI, one-time lifetime license option, similar feature set to Plex
02

Photo management: Immich, PhotoPrism

Immich

Immich is the closest thing to a self-hosted Google Photos. The mobile app backs up photos and videos automatically, face recognition works well, and the UI feels modern rather than janky. It's under very active development — the team ships frequently. Budget at least 4GB of RAM for Immich if you want machine learning features (face detection, CLIP search) running smoothly. PhotoPrism is slower to develop but has excellent EXIF and location metadata support — better if you have a large archive of RAW files you want to organize.

  • Immich: mobile app auto-backup, face detection, shared albums, map view — the Google Photos replacement
  • PhotoPrism: strong EXIF/location support, AI classification, better for archival RAW collections
  • Both: RAW preview, video playback, no subscription required
03

Files and sync: Nextcloud, Syncthing

NextcloudSyncthing

Nextcloud is the self-hosted alternative to Google Drive — file sync, shared folders, calendar, contacts, and a large plugin ecosystem. It's feature-rich but can be heavy to run and update. Syncthing does one thing: fast, peer-to-peer file sync between your devices with no server in the middle. Use Nextcloud when you want a web interface, sharing links, and CalDAV/CardDAV. Use Syncthing when you just want files to reliably sync between your laptop, phone, and home server without managing a web app.

  • Nextcloud: full web UI, sharing links, calendar and contacts sync, desktop and mobile apps
  • Syncthing: decentralized P2P sync, minimal overhead, excellent for automated device backups
  • Both: no cloud account, no subscription, your data stays yours
04

Network tools: Pi-hole, AdGuard Home, WireGuard

Pi-holeAdGuardWireGuard

Pi-hole and AdGuard Home sit between your home network and the internet, blocking ads and trackers at the DNS level — every device benefits, including your phone and smart TV, without installing a browser extension. AdGuard Home has a cleaner dashboard and DNS-over-HTTPS built in out of the box; Pi-hole has a larger community and more community blocklists. WireGuard is the VPN you want for accessing your home server from outside — much faster than OpenVPN, and most modern routers support it natively. Pair it with Nginx Proxy Manager to expose services with HTTPS without touching the command line.

  • Pi-hole: original DNS ad blocker, massive community, extensive blocklist ecosystem
  • AdGuard Home: cleaner UI, DNS-over-HTTPS built in, easier setup for beginners
  • WireGuard: fast modern VPN for remote access to your home network
05

Home automation: Home Assistant

Home Assistant

Home Assistant is the most capable self-hosted home automation platform, and one of the most impressive open-source projects running. It integrates with thousands of devices: Philips Hue, IKEA Tradfri, Z-Wave, Zigbee, Ecobee, Nest, and an enormous long tail of smart home hardware. Automations run locally, so your lights still work when the internet is down. The learning curve is real, but once it's set up, it's extraordinarily powerful. Running it as a Docker Compose container works well alongside other services.

  • Integrates with thousands of devices: Zigbee, Z-Wave, Philips Hue, IKEA, and more
  • Automations run locally — no cloud dependency, works without internet after setup
  • Mobile apps for iOS and Android, excellent dashboard builder
06

Productivity: Vaultwarden, Paperless-ngx, Gitea

BitwardenGitea

Vaultwarden is a community-built Bitwarden server written in Rust — tiny resource footprint, runs all official Bitwarden clients (browser extensions, mobile apps, desktop apps) without modification. It's the password manager app you set up once and forget about, except it's running on your own hardware. Paperless-ngx scans, OCRs, and auto-tags your documents into a searchable archive — a real change for anyone buried in paper. Gitea is a lightweight GitHub-alike: repos, issues, pull requests, and Actions, light enough to run on a Raspberry Pi.

  • Vaultwarden: Bitwarden-compatible, browser extensions and mobile apps work without any config changes
  • Paperless-ngx: OCR, automatic tagging, document inbox, full-text search across your archive
  • Gitea: Git, issues, pull requests, Actions — runs on a Pi 4, uses minimal memory
07

Downloads and libraries: Sonarr, Radarr, Prowlarr, qBittorrent

sonarrradarrqbittorrent

The "*arr" apps keep a media library organised: Sonarr follows TV series, Radarr films, Prowlarr manages the indexers both use, and a download client such as qBittorrent fetches the files. Jellyfin then picks them up. Only use them for content you have the right to download.

  • Sonarr and Radarr: watch lists, quality profiles, renaming and folder layout that Jellyfin understands
  • Prowlarr: one place to configure indexers for every *arr app
  • qBittorrent: the usual download client, with a web UI; run it behind a VPN container if you need one
08

Books and audiobooks: Audiobookshelf, Calibre-Web, Kavita

Audiobookshelf

Audiobookshelf is the self-hosted Audible: it streams audiobooks and podcasts to its phone apps and remembers where you stopped on every device. Calibre-Web gives an existing Calibre library a web interface and e-reader downloads, and Kavita is built for comics and manga.

  • Audiobookshelf: progress sync, offline downloads, podcast subscriptions
  • Calibre-Web: browse, read and send books to a Kindle or Kobo
  • Kavita: comics, manga and ebooks with a reader built for them
09

Monitoring and dashboards: Uptime Kuma, Beszel, Homepage

Uptime KumaHomepage

Once you run more than three apps you need to know when one breaks. Uptime Kuma checks each service and notifies you; Beszel graphs CPU, memory, disk and per-container use over time; Homepage puts every app on one start page with live numbers.

  • Uptime Kuma: HTTP, TCP, DNS and ping checks, notifications to dozens of channels, status pages
  • Beszel: lightweight history and alerts for several machines
  • Homepage: a fast start page with widgets for over 100 services
10

Remote access and HTTPS: Nginx Proxy Manager, Caddy, Tailscale

Nginx Proxy ManagerCaddy

To reach apps from outside you either bring your devices into the home network (Tailscale or WireGuard) or publish chosen apps through a reverse proxy or a tunnel. A VPN is the safer default; a proxy is for apps other people must reach.

  • Tailscale: a private network between your devices with no ports to open
  • Nginx Proxy Manager: a web UI for reverse proxy hosts and Let's Encrypt certificates
  • Caddy: a reverse proxy configured in a few lines, with automatic HTTPS
11

Home and money: Mealie, Actual Budget, Firefly III

MealieActual BudgetFirefly III

The apps the rest of the household ends up using. Mealie imports recipes from any website and builds meal plans and shopping lists; Actual Budget is an envelope budgeting app that syncs across devices; Firefly III is a fuller personal finance manager with rules and reports.

  • Mealie: recipe import by URL, meal planner, shared shopping list
  • Actual Budget: fast envelope budgeting, local-first with sync
  • Firefly III: accounts, budgets, rules and reports for detailed tracking
12

Reading and knowledge: FreshRSS, BookStack, Stirling-PDF

FreshRSSBookStack

FreshRSS replaces a news reader subscription and syncs with mobile RSS apps. BookStack is a simple wiki for household or homelab documentation (write down how you set things up; future you will thank you). Stirling-PDF merges, splits, converts and OCRs PDFs without uploading them anywhere.

  • FreshRSS: fast, multi-user, works with Fever and Google Reader API clients
  • BookStack: books, chapters and pages, with search and permissions
  • Stirling-PDF: dozens of PDF tools in the browser, all local
13

Local AI and notifications: Ollama, Open WebUI, ntfy

Ollamantfy

Ollama runs open language models on your own hardware, and Open WebUI gives them a ChatGPT-style interface; an N100 handles small models slowly, a GPU makes it pleasant. ntfy sends push notifications to your phone from any script or app with one HTTP request.

  • Ollama + Open WebUI: private chat with local models, no API bill
  • ntfy: curl -d "Backup done" ntfy.example.com/home and it is on your phone
  • Both pair well with the monitoring apps above

A starter stack for your hardware

What you can run depends mostly on RAM and on whether the CPU can transcode video. These are comfortable starting points, not limits; add one app at a time and watch memory in your dashboard.

Self-hosted apps that run comfortably on common home server hardware
HardwareRuns comfortablyAdd laterAvoid
Raspberry Pi 4, 4 GBAdGuard Home or Pi-hole, Vaultwarden, Uptime Kuma, Home Assistant, SyncthingFreshRSS, Mealie, AudiobookshelfVideo transcoding, Immich face recognition
Raspberry Pi 5, 8 GB, NVMeAll of the above, plus Nextcloud and Immich (slow first scan)Paperless-ngx, Actual BudgetTranscoding 4K for remote viewers
Intel N100 mini PC, 16 GBAll of the above, plus Jellyfin with hardware transcoding and the *arr appsOllama with small models (3 to 8B)Large local AI models
Used desktop or tower, 32 GB+Everything above at onceLarger Ollama models, VMsLittle, but watch the power bill

Install your first three apps

A good first weekend is an ad blocker for the whole house, a password manager and something that tells you when things break. In Homeio each one is a click in the app store; here is the same thing by hand, so you can see what the store does for you.

AdGuard Home. On Ubuntu, systemd-resolved already listens on port 53, so free it first, then start AdGuard and finish its setup wizard on port 3000. Point your router's DNS at the server afterwards.

sudo mkdir -p /etc/systemd/resolved.conf.d
printf '[Resolve]\nDNS=127.0.0.1\nDNSStubListener=no\n' | sudo tee /etc/systemd/resolved.conf.d/adguardhome.conf
sudo mv /etc/resolv.conf /etc/resolv.conf.backup
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
sudo systemctl reload-or-restart systemd-resolved

docker run -d --name adguardhome --restart unless-stopped \
  -v /DATA/AppData/adguard/work:/opt/adguardhome/work \
  -v /DATA/AppData/adguard/conf:/opt/adguardhome/conf \
  -p 53:53/tcp -p 53:53/udp -p 3000:3000/tcp adguard/adguardhome

Vaultwarden. The Bitwarden apps and browser extensions need HTTPS, so reach it through Tailscale or Cloudflare Tunnel rather than a plain IP address.

compose.yamlyaml
services:
  vaultwarden:
    image: vaultwarden/server:latest
    environment:
      DOMAIN: "https://vault.example.com"
      SIGNUPS_ALLOWED: "false"  # create your account first, then set this
    volumes:
      - /DATA/AppData/vaultwarden:/data
    ports:
      - "8081:80"
    restart: unless-stopped

Uptime Kuma. Add an HTTP check for AdGuard and Vaultwarden and a notification channel, and you will know about a problem before anyone at home does.

docker run -d --name uptime-kuma --restart unless-stopped \
  -p 3001:3001 -v /DATA/AppData/uptime-kuma:/app/data louislam/uptime-kuma

Before adding a fourth app, set up backups of /DATA/AppData. The apps are easy to reinstall; the data inside them is not.

⌘HWhere Homeio fits

Homeio makes it easy to run all of these apps.

All of these except Paperless-ngx are in Homeio's default catalog, WireGuard as wg-easy; for Paperless-ngx, paste its compose file and it installs as a custom app. Installing is the easy part. Keeping six apps healthy for a year is the work: per-container stats show which one is eating CPU, a scheduled task pulls new images each week so updates are a click, the weekly backup covers every app's data folder, and the file manager reaches those folders without SSH.

⌘?FAQ

Questions before you build the lab.

What are the best homelab apps in 2026?

The ones most homelabs run: Jellyfin for media, Immich for photos, Nextcloud or Syncthing for files, AdGuard Home or Pi-hole for ad blocking, Home Assistant, Vaultwarden for passwords, Uptime Kuma and Beszel for monitoring, and Tailscale for remote access. Audiobookshelf, Mealie, Paperless-ngx and Ollama with Open WebUI are the fastest-growing additions.

What should I self-host first?

Something useful every day and easy to recover if it breaks: AdGuard Home (ads blocked for the whole house) and Uptime Kuma. Then Vaultwarden once you have HTTPS through Tailscale or a tunnel, and Immich once you have backups. Leave anything the household depends on until you have restored a backup at least once.

What is the most popular self-hosted app?

Jellyfin, Pi-hole, and Home Assistant consistently show up at the top of self-hosting community surveys. Jellyfin because cutting streaming subscriptions has obvious financial appeal, Pi-hole because the whole network benefits immediately with zero per-device configuration, and Home Assistant because it's the only serious option for local-first home automation that actually works across brands.

How many apps should I run on a beginner home server?

Start with two or three apps, learn updates and backups, then expand. Running too many services too early makes troubleshooting harder.

What hardware do I need to run self-hosted apps?

It depends on what you're running. A Raspberry Pi 4 (4GB) handles Pi-hole, Vaultwarden, Gitea, AdGuard Home, and Syncthing comfortably. For Jellyfin with hardware transcoding or Immich with face detection, you want something more capable — an Intel N100 mini PC (~$150-200) handles 2-3 simultaneous 1080p transcodes via Quick Sync and runs Immich's ML features with room to spare. An old Core i5 desktop with a spare GPU also works well. Avoid CPU-only transcoding on a Pi for anything beyond 1080p direct play.

Are self-hosted apps free?

Most are fully free and open source: Jellyfin, Immich, Nextcloud, Pi-hole, AdGuard Home, WireGuard, Home Assistant, Vaultwarden, Paperless-ngx, and Gitea cost nothing. Plex needs a paid Plex Pass for hardware transcoding and offline sync, and since 2025 for streaming your own media away from home. Its prices went up in 2025, so check the current price before you commit. Emby has a similar paid tier. Everything else on this list is free.

How do I install self-hosted apps?

Every app on this list publishes a Docker Compose file. The manual path is: copy the compose file, create a .env for your config, run docker compose up -d. That works, but it gets tedious when you're managing six apps. Using a dashboard like Homeio, you browse the app catalog, click install, fill in a few environment variables, and it's running — with logs, update checks and restarts in the same window.

What is the best self-hosted alternative to Google Photos?

Immich, and it's not particularly close right now. It has the best mobile app for automatic backup, face recognition that actually works, shared albums, a map view, and a UI that feels modern. The project moves fast — new features ship every few weeks. Just make sure your hardware has enough RAM for the ML features: 4GB minimum, 8GB if you want smooth face detection on a large photo library.

What is the best self-hosted alternative to Dropbox?

Nextcloud for the full Dropbox experience: web interface, sharing links, CalDAV/CardDAV, desktop and mobile sync clients. Syncthing if you just want reliable device-to-device file sync without a web app to maintain — it's simpler, faster, and nearly zero maintenance once configured. If you're unsure, start with Syncthing. It's harder to break.