Self-hosted apps that run well on a Raspberry Pi 5 with 8 GB include Pi-hole, AdGuard Home, Home Assistant, Vaultwarden, Uptime Kuma, Navidrome, Syncthing and Paperless-ngx. All 15 apps below publish ARM64 Docker images (we checked each registry on October 6, 2026), stay light enough to run several at once, and are useful from day one. Two need care: Immich wants most of the Pi's memory for machine learning, and Jellyfin should only direct-play because the Pi 5 has no hardware video encoder. Put the system on an NVMe drive rather than a microSD card, and the Pi 5 makes a quiet, low-power home server.
Before you start: setting up the Pi 5 as a server
- Power supply. Raspberry Pi recommends a 5 V, 5 A USB-C supply such as its own 27 W unit. Weaker supplies limit USB power and cause odd instability under load.
- Cooling. Use the official Active Cooler or a case with a fan. A server runs 24/7, and a throttling Pi feels slow.
- Storage. Boot from an NVMe SSD through an M.2 HAT. MicroSD cards are slow for databases and wear out under constant writes. At the very least, keep app data off the card.
- Operating system. Install 64-bit Raspberry Pi OS Lite (or Ubuntu Server for ARM), enable SSH keys, then install Docker Engine from Docker's repository. Our Docker Compose tutorial covers the rest.
- Images. Before adding any app, confirm its image lists
arm64(sometimes shown asarm64/v8). Everything below does.
A word on value: memory shortages pushed Raspberry Pi prices up three times between December 2025 and April 2026. As of October 2026 the official prices are $175 for 8 GB and $305 for 16 GB, board only. If you are buying from scratch, compare with a used office mini PC in our best mini PC for a home server guide. If you already own a Pi 5, put it to work.
The 15 apps
| # | App | Job | ARM64 image | Notes on a Pi 5 |
|---|---|---|---|---|
| 1 | Pi-hole | Network ad blocking | Yes | The classic Pi workload |
| 2 | AdGuard Home | Network ad blocking, encrypted DNS | Yes | Alternative to Pi-hole; run one |
| 3 | Home Assistant | Smart home hub | Yes | Or install Home Assistant OS on a dedicated Pi |
| 4 | Vaultwarden | Password manager | Yes | Very light |
| 5 | Uptime Kuma | Uptime monitoring | Yes | Light |
| 6 | Beszel | Server metrics | Yes | Watches the Pi's CPU, RAM and temperature |
| 7 | Homepage | Dashboard | Yes | Light |
| 8 | Syncthing | File sync | Yes | Light; disk speed matters |
| 9 | Navidrome | Music streaming | Yes | Light; transcodes audio easily |
| 10 | Audiobookshelf | Audiobooks and podcasts | Yes | Light |
| 11 | FreshRSS | RSS reader | Yes | Light |
| 12 | Actual | Budgeting | Yes | Light |
| 13 | WG-Easy | WireGuard VPN with a web UI | Yes | Reach the Pi from anywhere |
| 14 | Paperless-ngx | Document archive with OCR | Yes | Works; OCR of large scans is slow |
| 15 | Jellyfin | Media server | Yes | Direct play only |
The always-on essentials (1 to 7)
Pi-hole or AdGuard Home. Blocking ads for the whole network is the job the Pi became famous for, and it barely registers on a Pi 5. Pick one; Pi-hole vs AdGuard Home helps you choose, and the Pi-hole guide walks through setup. Give the Pi a static IP before pointing your router's DNS at it.
Home Assistant. Home Assistant supports the Pi 5 both as a container and as Home Assistant OS. The container works alongside your other apps; Home Assistant OS on a dedicated Pi adds the add-on store and one-click backups. See the Home Assistant guide.
Pi-hole
Blackhole for Internet advertisements with a GUI for management and monitoring.
Home Assistant
Home automation platform.
Vaultwarden
Lightweight Bitwarden server API implementation written in Rust.
Vaultwarden. A Bitwarden-compatible password server in one small Rust binary, ideal for a Pi. Put it behind HTTPS and set up backups before you move your passwords in; the Vaultwarden guide covers both.
Uptime Kuma, Beszel and Homepage. Monitoring and a dashboard cost very little memory. Beszel is especially handy on a Pi because it shows temperature and throttling alongside CPU and RAM. Start with the Uptime Kuma guide.
Files, music and books (8 to 10)
Syncthing keeps folders in sync between your devices and the Pi, which then acts as an always-on peer. The Syncthing guide covers folder permissions.
Navidrome streams your music library to any Subsonic-compatible app. Audio transcoding is cheap, so it runs comfortably on the Pi; see the Navidrome guide. Audiobookshelf does the same for audiobooks and podcasts, with progress sync between phone and web.
Everyday tools (11 to 13)
FreshRSS is a fast, mature RSS reader that works with many mobile apps. Actual is a local-first budgeting app; the Actual guide sets up sync. WG-Easy runs a WireGuard VPN with a simple web UI, so you can reach everything on the Pi from your phone without exposing it to the internet.
The heavier two (14 and 15)
Paperless-ngx. Its documentation states that it runs on a Raspberry Pi, with some tasks slower on low-powered hardware. Expect OCR of long multi-page scans to take a while; day-to-day searching is fast. The project suggests setting PAPERLESS_WEBSERVER_WORKERS to 1 to save memory. Follow the Paperless-ngx guide.
Jellyfin. The Pi 5 has no hardware video encoder, and Jellyfin has deprecated hardware acceleration on Raspberry Pi. It works well when your devices can play the files directly, and poorly when they need transcoding. For a serious media server, read our home server for Plex and Jellyfin guide.
What about Immich?
Immich supports arm64, and many people run it on a Pi 5. But its documentation asks for at least 6 GB of RAM, recommends 8 GB, and says that on 4 GB systems it can run with machine learning disabled. On an 8 GB Pi that already runs a dozen services, either disable machine learning or give Immich a 16 GB Pi or a different machine. The Immich guide shows the settings.
Also runs well on a Pi 5
Linkding for bookmarks, Memos for quick notes, Gitea for Git hosting and ntfy for push notifications all publish arm64 images and stay light.
A sample 8 GB layout
A sensible starting stack on one 8 GB Pi 5: AdGuard Home or Pi-hole, Vaultwarden, Uptime Kuma, Beszel, Homepage, Syncthing, Navidrome and FreshRSS. Add apps one at a time and watch memory in Beszel after each; if free memory stays low, move the heaviest app to another machine rather than relying on swap.
Keep the Pi healthy
- Use bind mounts on the NVMe drive for all app data, and back it up off the Pi.
- Watch temperatures with Beszel; add better cooling if you see throttling.
- Update deliberately with
docker compose pull && docker compose up -d. - Do not expose admin panels; use WG-Easy or Tailscale for remote access.
New to self-hosting? Our homelab for beginners guide explains what to run first, and the network utilities and home automation categories list more apps to try.