Paul Merceur

software engineer github

homelab

this site runs on the same small Raspberry Pi NAS that handles my file storage, media libraries, private service dashboards, and a few public-facing things. this is a tiny "homelab", both in terms of physical size and cost.

computerRaspberry Pi 5 Model B
memory4 GB RAM
launch price$60 USD for the 4 GB board
storage2 TB SATA SSD on a PCIe SATA HAT

what it does

files and sync

SMB shares for local files, Nextcloud for browser/mobile access, Syncthing for selected folders, and Time Machine storage for my Mac.

media

Navidrome for music and Jellyfin for movies/shows. the Pi is treated as a direct-play box, not a transcoding server.

network and access

Pi-hole handles local DNS/DHCP, Tailscale handles private remote access, and Nginx Proxy Manager keeps the small public surface behind HTTPS.

operations

Docker runs the services. OpenMediaVault manages the NAS basics. Homepage, Portainer, Beszel, and health checks make it easier to see what is running and catch obvious failures.

infrastructure

Tailscale is doing a lot of work here. it lets me use the NAS from outside my local network, without exposing admin tools, SMB, or media apps to the public internet. it replaced very manual approaches like using wireguard (Tailscale is built on it).

there are also nightly automatic encrypted backups to a cloud storage provider. the goal is not fancy disaster recovery; it is making sure the important files and service state survive if the one local SSD breaks.

notes

the biggest weakness is storage redundancy: right now it is one SSD, which is fine for capacity but not fine if the drive dies. important data is backed up automatically to encrypted cloud storage, and the most important folders also exist on local devices, but that is still backup, not high availability.

I also keep the public surface intentionally small. most admin and media tools are private-only; the public parts are the website, cloud access, and the minimum ports needed for the services that actually require it.

this project started thanks to the amazing work by Jeff Geerling.