Best self-hosted apps for a Raspberry Pi

The best self-hosted apps for a Raspberry Pi, matched to model and RAM using each project's own requirements: Pi-hole, Vaultwarden, Immich, Nextcloud, more.

Contents5 sections
By Toni LukeUpdated

The self-hosted apps that suit a Raspberry Pi best are the light ones: Pi-hole or AdGuard Home for network-wide ad blocking, Vaultwarden for passwords, Uptime Kuma for monitoring, and Syncthing and Navidrome for files and music. Heavier apps such as Immich and Nextcloud do run on a Pi 5, but they want the 8GB board and an SSD. Jellyfin's own docs advise against a Pi for anything that needs video transcoding.

Every pick below is matched to a Pi model and RAM size using the project's own published requirements, or, where a project publishes none, the architectures its official Docker image is built for. This is a sourced shortlist, not a benchmark.

Picks by Pi model and RAM

Your PiGood fitsPossible, with careSkip
Pi 5, 16GB or 8GBEverything below, plus Immich (8GB meets its recommendation), Nextcloud AIO, PhotoPrismSeveral heavy apps at onceJellyfin transcoding
Pi 5 or Pi 4, 4GBPhotoPrism (docs recommend a Pi 4 or 5 with 4GB+), Seafile CE, Nextcloud, all the light appsImmich with machine learning disabledImmich with ML on (6GB minimum)
Pi 5 or Pi 4, 2GBPi-hole, AdGuard Home, Vaultwarden, Uptime Kuma, Syncthing, NavidromeSeafile CE (2GB is its minimum)Immich, PhotoPrism (3GB min)
1GB boards, and 32-bit arm/v6 (Pi Zero and Pi 1 class)Pi-hole (512MB RAM), AdGuard Home, Vaultwarden (arm/v6 images); Navidrome (arm/v6 image)—Anything with a database-heavy stack

The Pi 5 is sold with 1GB, 2GB, 4GB, 8GB or 16GB of RAM, and the Pi 4 with 1GB, 2GB, 3GB, 4GB or 8GB, per the Raspberry Pi product briefs.

The light apps: run these on any 64-bit Pi

Pi-hole

Best for: network-wide ad and tracker blocking.

Pi-hole's prerequisites are tiny: 512MB of RAM and a minimum of 2GB of free disk (4GB recommended). The docs say "despite the name, you are not limited to running Pi-hole on a Raspberry Pi", but it's the classic Pi app. Raspberry Pi OS and Armbian are supported, on armv6, armv7 and armv8. Its Docker image covers all of those plus amd64 and more. See the Pi-hole profile.

AdGuard Home

Best for: the same job as Pi-hole, if you prefer AdGuard's interface and feature set.

AdGuard Home's official Docker image is published for arm/v6, arm/v7 and arm64, so it runs on anything from a Pi Zero-class board up. Choosing between the two is covered in Pi-hole vs AdGuard Home, and the details are in the AdGuard Home profile.

Vaultwarden

Best for: a self-hosted password manager that works with the official Bitwarden apps.

Vaultwarden is an unofficial Bitwarden-compatible server written in Rust. Its README pitches it for self-hosting "where running the official resource-heavy service might not be ideal", and that's exactly the Pi situation. The Docker image is built for arm/v6, arm/v7 and arm64. The README recommends putting it behind a reverse proxy for TLS. See the Vaultwarden profile, or compare it in Vaultwarden vs Bitwarden.

Uptime Kuma

Best for: monitoring your other services and websites.

Uptime Kuma checks HTTP(S), TCP, keywords, JSON queries, WebSockets, ping, DNS records, push monitors, game servers and Docker containers. Its image is built for arm/v7 and arm64, but not arm/v6, so skip it on a Pi Zero-class board. One Pi-specific gotcha from the README: NFS and other network file systems aren't supported for its data, so keep it on a local disk. See the Uptime Kuma profile.

Syncthing

Best for: keeping folders in sync across your computers, with the Pi as the always-on node.

Syncthing syncs files between two or more computers in real time, with no central server. A Pi that's always on means there's always a peer awake to receive changes. Its Docker image covers arm/v7 and arm64.

Best for: streaming your own music collection.

Navidrome's README promises "very low resource usage" and ready-to-use binaries "including Raspberry Pi". The Docker image covers arm/v6, arm/v7 and arm64. It works with any Subsonic-compatible client. It needs ffmpeg installed if you run it outside Docker.

Audiobookshelf

Best for: audiobooks and podcasts.

Audiobookshelf is a self-hosted audiobook and podcast server with Android and iOS apps (in beta, per its README). Its image is arm64 only, so use a 64-bit OS.

The heavier apps: Pi 4 or Pi 5 with 4GB or more

Seafile (self-hosted cloud storage)

Best for: fast file sync on modest hardware.

For "Raspberry Pi self-hosted cloud storage", Seafile publishes a clear, low floor. The Community Edition needs 2GB of RAM, 2 cores and 10GB of disk (50GB or more recommended). Seafile's download page points Pi owners to its ARM64 Docker image. The trade-offs against Nextcloud are in Nextcloud vs Seafile.

PhotoPrism

Best for: browsing and searching a photo archive on a 4GB Pi.

PhotoPrism's Pi guide recommends a Pi 4 or 5 with at least 4GB of RAM, a 64-bit OS, an SSD over USB 3 and at least 4GB of swap. The PhotoPrismPi image lets you flash an SD card and boot straight into it. On Raspberry Pi OS, set arm_64bit=1 in config.txt. Face detection is included in the free edition.

Nextcloud

Best for: files plus calendar, contacts and calls.

The official All-in-One install supports aarch64/arm64. Nextcloud's memory guidance is per PHP process: 128MB minimum and 512MB recommended. So a 4GB Pi 5 is a sensible start for a small household, and 8GB gives more room for Office and Talk (our judgement, not an official figure). Use a 64-bit OS: on 32-bit, dates past 2038 don't work and some apps break. See the Nextcloud profile.

Immich

Best for: Google Photos-style phone backup, on a Pi 5 with 8GB or 16GB.

Immich needs 6GB of RAM (8GB recommended) and 2 to 4 cores, and it runs on arm64. On a 4GB board you can only run it with machine learning disabled, which means no faces and no smart search. The FAQ warns that ML and transcoding "can be too heavy to run on a Raspberry Pi". Its fixes are lower job concurrency, fewer transcoding threads, the smaller buffalo_s face model, or running the ML container on another machine. Hardware transcoding isn't supported on Pi. Put the Postgres database on local SSD, never a network share. The full sizing is in the Immich profile.

Can I use a Raspberry Pi as a media server?

For music and audiobooks, yes: Navidrome and Audiobookshelf are good fits. For video, it depends on whether anything needs transcoding. Jellyfin's hardware guide names "the Raspberry Pi, especially the Raspberry Pi 5" among SBCs that are too slow and "often lack proper support for hardware acceleration". The Pi 5 brief lists a 4Kp60 HEVC decoder and no hardware encoder. The Pi 4 brief lists H.264 encode only at 1080p30. Jellyfin publishes an arm64 image, so it installs, but plan on clients that play your files directly. For transcoding on a small box, Jellyfin's docs point to Intel N-series mini PCs or RK3588 boards. The fuller picture is in the Jellyfin profile and Jellyfin vs Plex.

Setting up a Raspberry Pi home server: the basics that matter

  • Use a 64-bit OS. PhotoPrism needs arm_64bit=1 on Raspberry Pi OS. Nextcloud strongly recommends 64-bit. Immich, Jellyfin, PhotoPrism and Audiobookshelf only publish arm64 images for ARM.
  • Put databases on an SSD. The Pi 5 has a PCIe 2.0 x1 interface and two USB 3.0 ports. Immich and PhotoPrism both say indexing and databases benefit from local SSD storage, and Immich says never to use a network share for its database.
  • Add swap for photo apps. PhotoPrism asks for at least 4GB of swap and warns against hard memory limits.
  • Keep it off the open internet. Jellyfin says its server isn't designed to be exposed directly. Vaultwarden recommends a reverse proxy. The same care applies to the rest.
  • Outgrowing the Pi? A small VPS can host the internet-facing pieces. See the VPS guide for self-hosting.
Sources (19)Show
  1. Raspberry Pi 5 product brief · accessed 2026-09-29
  2. Raspberry Pi 4 Model B product brief · accessed 2026-09-29
  3. Pi-hole: Prerequisites · accessed 2026-09-29
  4. Docker Hub tag 'latest' image architectures (pihole/pihole, adguard/adguardhome, vaultwarden/server, louislam/uptime-kuma, syncthing/syncthing, deluan/navidrome, advplyr/audiobookshelf, jellyfin/jellyfin, photoprism/photoprism, nextcloud) · accessed 2026-09-29
  5. Vaultwarden README · accessed 2026-09-29
  6. Uptime Kuma README · accessed 2026-09-29
  7. Syncthing homepage · accessed 2026-09-29
  8. Navidrome README and installation docs · accessed 2026-09-29
  9. Audiobookshelf README · accessed 2026-09-29
  10. Seafile Admin Manual: System requirements · accessed 2026-09-29
  11. Seafile downloads (Raspberry Pi ARM64 image) · accessed 2026-09-29
  12. PhotoPrism: Running on a Raspberry Pi · accessed 2026-09-29
  13. PhotoPrism: Setup and system requirements · accessed 2026-09-29
  14. Nextcloud 35 Administration Manual: System requirements · accessed 2026-09-29
  15. Nextcloud All-in-One FAQ (supported CPU architectures) · accessed 2026-09-29
  16. Immich: Requirements · accessed 2026-09-29
  17. Immich: FAQ (Raspberry Pi) · accessed 2026-09-29
  18. Immich: Hardware Transcoding (Raspberry Pi not supported) · accessed 2026-09-29
  19. Jellyfin: Selecting Appropriate Hardware · accessed 2026-09-29