Raspberry Pi single-board computer set up on a desk as a home server project

Raspberry Pi Home Server: Weekend Build Guide

Build a Raspberry Pi home server in a weekend — Pi-hole, NAS, Jellyfin, and a VPN, all on £100-130 of hardware. Beginner-friendly step-by-step.

A Raspberry Pi home server is the easiest possible introduction to self-hosting — for £100–£130 of hardware and one weekend of setup, you get an always-on box that blocks ads on every device in your house, stores your photos and videos, streams them to your TV, and gives you a private VPN to use on coffee-shop WiFi. No subscription fees, no cloud storage anxiety, and roughly 5W of power draw to run the lot.

This guide is written for genuine beginners — if you have never used the terminal, never SSH'd into anything, never heard of Docker. We cover the parts you need, the four services to start with (Pi-hole, OpenMediaVault, Jellyfin, WireGuard VPN), and the order to install them in. By Sunday afternoon you will have a working home server. By next weekend, you will start finding excuses to add more services to it.

What you'll need: parts list and budget

All in, expect to spend £100-130 for a full setup that lasts five years

The full beginner kit consists of seven items. Stick to recommended brands — Pi accessories are the area where £5 of saving causes hours of troubleshooting later.

  • Raspberry Pi 5 (4GB) — around £55. The 4GB model handles all four services comfortably. The 8GB model is overkill unless you are planning AI workloads on top.
  • Official Pi 5 power supply (27W USB-C) — around £12. The Pi 5 needs a higher-wattage supply than older models; a generic phone charger will under-volt and cause crashes.
  • Pi 5 active cooler (official) or a passive case with fan — around £10. The Pi 5 throttles aggressively without active cooling, especially under sustained load.
  • microSD card (32GB SanDisk Extreme or Samsung EVO Plus) — around £10. This is the boot drive. Cheaper cards have higher failure rates and slower writes.
  • External USB SSD (480GB-1TB, USB 3.0) — around £35-50. This is your NAS storage. SSDs are quiet, fast, and far more reliable than USB sticks for 24/7 use.
  • Ethernet cable — around £5. Always wire the Pi to your router rather than relying on WiFi. Stability matters far more than speed for a server.
  • HDMI micro cable (only if you do not have a spare) — around £5. You only need this for first-boot setup; once SSH is working you can run headless.

Total: roughly £132 at full retail, often £110–£120 with sales. The Pi 5 is the right starting point in 2026 — earlier models still work but the Pi 5's increased RAM and CPU headroom mean you will not outgrow it as quickly.

Step 1: flash Raspberry Pi OS to the SD card

15 minutes — Pi Imager makes this nearly idiot-proof

Download the Raspberry Pi Imager from raspberrypi.com/software and install it on your laptop. Pop the microSD card into the laptop's card reader (or a USB adapter), then in Imager:

  1. Click CHOOSE DEVICE and pick Raspberry Pi 5.
  2. Click CHOOSE OS → Raspberry Pi OS (other) → Raspberry Pi OS Lite (64-bit). Lite has no desktop environment, which is what you want for a server — it boots faster and uses far less RAM.
  3. Click CHOOSE STORAGE and pick the SD card.
  4. Click NEXT, then EDIT SETTINGS. This is the most important step.

In the settings dialog, set the hostname to something memorable like homeserver, set a username and a strong password, enable SSH (with password authentication), and configure your WiFi (although you will not actually use WiFi — see step 2). Click SAVE, then YES to apply the settings, and YES again to confirm overwriting the SD card. Wait 5-10 minutes for the flash to complete.

Step 2: assemble, plug in, and find the Pi on your network

10 minutes — first boot tells you the Pi's IP address

Insert the SD card into the Pi, attach the cooler, plug in the Ethernet cable to your router, then connect the power supply. The Pi will boot. The first boot takes about 90 seconds, with the green activity LED flashing.

Now find the Pi's IP address. The easiest method is logging into your router's admin page (often 192.168.0.1 or 192.168.1.1) and looking at the connected devices list — your Pi will appear under the hostname you set. Note the IP address (something like 192.168.0.42).

From your laptop, open a terminal (macOS Terminal, Windows PowerShell, or a Linux terminal) and SSH in:

ssh [email protected]

The first time you connect, you will see a security warning about an unknown host — type yes. Then enter the password you set in Imager. You are now in. Run sudo apt update && sudo apt full-upgrade -y to get all the latest packages — this takes 5-10 minutes — then sudo reboot.

Step 3: install Pi-hole for network-wide ad blocking

10 minutes — instantly blocks ads on every device in your house

Pi-hole is a DNS-level ad blocker. When any device on your network tries to reach an ad domain, your router asks Pi-hole for the IP address, and Pi-hole returns nothing — the ad never loads. It works on phones, tablets, smart TVs, and gaming consoles, including apps that bypass browser-based blockers like uBlock Origin.

SSH into the Pi and run:

curl -sSL https://install.pi-hole.net | bash

The installer is interactive. Accept the defaults for almost everything. When it asks for an upstream DNS provider, choose Cloudflare or Quad9. When it asks whether to install the web admin interface, say yes. At the end, write down the admin password it displays — you will need this for the dashboard.

Now point your router at Pi-hole. In the router's DHCP/DNS settings, change the DNS server from your ISP's default to your Pi's IP address. Save, reboot the router, and within a few minutes every device on your network will be using Pi-hole. Visit http://<your-pi-ip>/admin to see the dashboard — within an hour you will be blocking thousands of requests per day. Our Pi-hole introduction guide covers the dashboard and tuning in more detail.

Step 4: install OpenMediaVault for NAS storage

30 minutes — turn the Pi into a network-attached storage box

OpenMediaVault (OMV) is a free, web-managed NAS operating system that runs on top of Raspberry Pi OS. Plug your USB SSD into the Pi (use a powered USB hub if you have multiple drives — the Pi can struggle to power more than one bus-powered drive).

SSH back into the Pi and install OMV with the official one-line script:

wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

This takes 15-20 minutes and the Pi will reboot itself. After it comes back up, visit http://<your-pi-ip> in a browser. The default OMV credentials are admin / openmediavault — change the password immediately under User Management.

In the OMV dashboard, mount your SSD under Storage → Disks, then create a filesystem on it under Storage → File Systems. Create a shared folder under Storage → Shared Folders. Finally, enable the SMB/CIFS service under Services → SMB/CIFS and add a share pointing to your folder. From a Mac, Windows, or Linux machine on your network, you can now connect to the Pi as a network drive at smb://<your-pi-ip> with the OMV username and password.

Step 5: install Jellyfin for media streaming

20 minutes — stream your music, movies, and TV to any device in the house

Jellyfin is the open-source alternative to Plex — same idea (a media server you can stream from anywhere) but completely free with no cloud account required. It transcodes on-demand for older devices and runs a slick web interface.

SSH back in and install Jellyfin from its official repository:

curl https://repo.jellyfin.org/install-debuntu.sh | sudo bash

The install script handles repository setup, package install, and service start automatically. Once finished, visit http://<your-pi-ip>:8096 in a browser and complete the setup wizard — set an admin user, point Jellyfin at your media folder (typically /srv/dev-disk-by-uuid-xxxx/media if you store it on the OMV-managed SSD), and tell it what kind of content lives in each folder.

Jellyfin clients exist for Apple TV, Android TV, Fire TV, Roku, iOS, and Android, plus the web interface works on any browser. The Pi 5 can comfortably handle one 1080p stream at native quality and two simultaneously if it does not need to transcode. For 4K, you will want pre-encoded H.265 files; the Pi 5 cannot transcode 4K in real time.

Step 6: install WireGuard for a private VPN home

20 minutes — encrypted access to your home network from anywhere

WireGuard is a modern, fast VPN. With it running on the Pi, you can connect to your home network from anywhere — making coffee-shop WiFi safe, accessing your Jellyfin library when travelling, or routing all your phone's traffic through your home (and therefore through Pi-hole's ad blocking).

The easiest installer is PiVPN, which wraps WireGuard configuration in a simple wizard:

curl -L https://install.pivpn.io | bash

Follow the wizard prompts. Pick WireGuard (not OpenVPN) when asked. Use UDP. Set the listening port to the suggested default (51820). Choose your DNS provider — pick the Pi-hole option if it is available, otherwise Cloudflare.

Once installed, you need to forward UDP port 51820 from your router to the Pi's IP. This is the only port you should ever forward — it is encrypted and well-audited. Then run pivpn add to create a client config; it generates a QR code you scan with the official WireGuard app on your phone, and you are connected.

If you want a primer on home network security beyond VPN, our 10-minute WiFi security guide covers the rest of the basics.

Step 7: set up automated backups

15 minutes — the boring step that saves your data when the SD card dies

SD cards eventually fail — the question is when, not if. Plan for it from day one rather than weeping when it happens.

Two layers of backup cover most failure modes. First, take a periodic image of the SD card itself so you can restore the OS and Pi-hole/OMV/Jellyfin/PiVPN configurations after a card death. The simplest approach is to power down the Pi monthly, pull the SD card, and use Win32DiskImager (Windows), Apple Pi Baker (Mac), or dd (Linux) to image it to a file on your laptop. Restoring from that image takes 15 minutes versus 4-6 hours of reinstalling everything.

Second, for the data on your SSD, set up rsync via OMV's built-in scheduling. OMV → Services → Rsync → Tasks lets you schedule a nightly sync from one folder to another. Plug a second cheap external drive into a powered USB hub and back the SSD up to it nightly. Combine that with a quarterly off-site copy (manually carry a portable drive to a relative's house) and you are protected against drive failure, theft, fire, and the dreaded ransomware.

What to add next: services worth installing once you're comfortable

The natural next steps once the four core services are humming

Once the four core services are stable, the natural next additions tend to be:

  • Home Assistant — for smart-home automation. The Pi 5 can run both Home Assistant OS in a VM or via Home Assistant Container in Docker, but if smart home is your main interest, install it on a separate Pi and keep this one as the always-on services box. See our Home Assistant setup guide.
  • Nextcloud — your own private Dropbox/Google Drive replacement. Heavier than the four services here but viable on a Pi 5.
  • Vaultwarden — a self-hosted Bitwarden-compatible password manager. Lightweight, encrypted, and completely yours.
  • Tailscale as an alternative to WireGuard — even simpler to set up, with no port forwarding needed. Slight reduction in privacy because it depends on Tailscale's coordination servers, but for non-paranoid users it is the easier choice.
  • Uptime Kuma — a self-hosted dashboard for monitoring whether all your services are still alive.

By this point you are operating a small but real homelab. Many people stop adding new services and start exploring containerisation with Docker Compose so they can deploy and undeploy services cleanly — that is the natural progression past the beginner stage.

Frequently asked questions

How much electricity does a Raspberry Pi 5 home server use?
About 4-7 watts at idle and 9-12 watts under sustained load. Over a year of 24/7 operation that's roughly 50-90 kWh, or £15-25 at typical UK electricity prices in 2026. Far less than leaving an old laptop or desktop running as a server.
Can I do this on a Pi 4 instead of a Pi 5?
Yes — a Pi 4 (4GB) handles Pi-hole, OMV, and Jellyfin comfortably. The Pi 5 is roughly 2-3x faster on most tasks and has better USB 3.0 throughput, which matters for the SSD. If you already have a Pi 4 sitting unused, use it. If you are buying new, the Pi 5 is the better long-term investment.
Do I need a domain name to access this from outside my house?
Not for WireGuard — the VPN works directly with your home's public IP address, which the WireGuard config files capture automatically. Most UK home internet connections have a 'sticky' dynamic IP that rarely changes, but if your IP changes frequently you may want a dynamic DNS service (DuckDNS is free and easy to set up). For Jellyfin or other web services exposed externally, a dynamic DNS is essentially required, but you should access those through the WireGuard tunnel anyway, not via direct port forwarding.
Is the SD card going to be a problem long-term?
It will eventually fail — most SanDisk Extreme and Samsung EVO Plus cards last 2-5 years under typical home server load. If you want to eliminate the risk entirely, the Pi 5 supports booting from USB SSD, which is far more reliable. Set this up via Pi Imager's 'USB Mass Storage Device' option. The cost is around £25 more for a small NVMe-to-USB enclosure, and the SD card becomes optional.
What if Pi-hole breaks the internet for the whole household?
It can happen — Pi-hole over-blocking a popular site or the Pi crashing makes everyone's DNS fail until you intervene. Two mitigations. First, in your router DHCP/DNS settings, set both your Pi as the primary DNS and Cloudflare (1.1.1.1) as the secondary; this means the household falls back to Cloudflare if the Pi is down. Second, if your router supports two DNS entries, set one to your Pi and the other to a separate Pi running a backup Pi-hole. Most home networks survive fine with the first mitigation alone.
Should I use Docker for these services instead of installing them directly?
Eventually, yes — Docker Compose makes it trivial to deploy, update, and back up services. But Docker adds a layer of complexity that is not worth it for a first home server. Get the four core services running natively first; once you are comfortable with the Pi and the terminal, migrate to Docker for new services and gradually for the existing ones.

The first time you successfully load your Pi-hole admin page and see the live count of blocked requests ticking upward, the cost-benefit becomes obvious — you have replaced years of subscription fees and cloud trust with one £130 box that you control. The first time you stream your own film library to your phone in a Premier Inn hotel room, you stop seeing a Pi as a hobbyist gadget and start seeing it as a genuine alternative to a stack of consumer subscriptions.

Stick to the four-service core to start. Once the Pi feels familiar, branch out. The community and documentation around Raspberry Pi home servers is the best in any DIY tech niche — almost any question you have, someone has already answered.

Want to keep building?

Once your Pi server is humming, Home Assistant on a second Pi unlocks every kind of home automation — lights, climate, security, energy.

Set up Home Assistant on a Pi