Self-Hosting on a Spare Laptop: A Home Server Series

contents
Why this series exists
This series started as a build log for turning an old laptop into a quiet, LAN-only home server — sixteen parts on Debian, Jellyfin, Immich, Pi-hole, and everything that fits on repurposed hardware. In part 17 the laptop was replaced with a Lenovo ThinkCentre M720q Tiny mini PC, and the series keeps going from there.
The technical goal was always simple: run useful local services without buying new hardware. The personal goal matters more: build a calmer digital environment where my media, documents, photos, and videos live in tools I intentionally choose. The hardware has changed, but that hasn’t.
This is an open-ended build log, not a finished course. It gains a new part whenever a service earns its place, so the list below keeps growing. If you want the philosophy behind the project, start with Part 1. If you already have a machine and want to build, start with Part 2. If you’re deciding what hardware to buy, Part 17 covers the research that led to the M720q.
The full series
1. Building a Home Server for Digital Minimalism
The starting point for the project: less screen time, fewer algorithmic feeds, and a local-first media setup that supports intentional attention instead of infinite scrolling.
2. How to Set Up a Spare Laptop as a Debian Home Server
The base server setup: Debian, SSH keys, lid-close behavior, /srv/media/, shared permissions, Powertop, and the checklist I wanted before installing real services.
3. Setting Up Jellyfin on a Spare Laptop Home Server
The first real service on the server. This part covers Jellyfin, local media folders, library setup, service checks, and keeping the media experience LAN-only.
4. Setting Up Audiobookshelf for Audiobooks and Podcasts
Audiobooks and podcasts join the setup. This part covers Audiobookshelf installation, library folders, RSS podcast downloads, and connecting from an iPhone.
5. Self-Hosting Immich for Private Photo Backups
Private photo backup with Immich. This part covers Docker Compose, storing uploads on a mounted drive, mobile auto-backup, reboot checks, and the backup rule that photos should not live in only one place.
6. Setting Up Paperless-ngx for Document Search
The home server becomes a small document archive. This part covers Paperless-ngx, OCR, manual uploads, document organization, search, and what needs to be backed up.
7. Installing qBittorrent-nox as a Headless Download Manager
A headless download manager for legitimate torrents like Linux ISOs and open datasets. This part covers qBittorrent-nox, a dedicated service user, systemd, download folders, and RSS rules.
8. Automating YouTube Downloads with yt-dlp and systemd
YouTube without the homepage. This part covers yt-dlp, channel lists, archive tracking, metadata, systemd timers, troubleshooting, and guardrails so automation does not become another infinite feed.
9. Setting Up Homepage as a Home Server Dashboard
A clean local dashboard for the services. This part covers Homepage with Docker, simple YAML config, service links, and a resource widget for checking the server at a glance.
10. Using Pi-hole and Caddy for Local HTTPS URLs
The setup gets nicer to use. This part covers Pi-hole DNS records, Caddy reverse proxy config, local HTTPS, firewall rules, certificate trust, and replacing IP-address-and-port URLs with clean local names.
11. What I Would Do Differently Self-Hosting From Scratch
A checkpoint, not a finale. This part reflects on folder layout, appdata conventions, local DNS, backups, Docker consistency, and resisting app sprawl, with the lessons I’d front-load next time. It’s a living post I revisit as the series picks up more services.
12. A Lossless Music Library That Lives on My Own Server
The music gap, finally closed. This part covers Navidrome, Beets for metadata, an ffmpeg trim workaround for custom start and end times, and lossless playback on iOS through Arpeggi. It pairs with automating music discovery with an LLM: discovery finds the tracks, this stack owns and serves them.
13. Self-Hosting an Ebook Library So I Don’t Rent My Books
The last media I was still renting, brought home. This part covers Calibre and Calibre-Web sharing one library, fitting it into the /srv split, and sideloading to a Kobo over USB with a udev auto-mount and no vendor account.
14. Backing Up a Home Server Before You Trust It
The boring infrastructure that matters most. This part covers what data actually needs protecting, the offsite tradeoff, automating the job, and why I test a restore instead of assuming one works.
15. Adding Remote Access to a Home Server, Carefully
Reaching the server from outside without breaking local-first. This part compares Tailscale, WireGuard, Cloudflare Tunnel, and a public reverse proxy, and where each one fits.
16. Monitoring a Home Server Without Making It a Job
Just enough monitoring to stay calm. This part covers disk space, service health, SMART status, temperature, and simple alerts that stay quiet until something actually needs attention.
17. From Spare Laptop to Mini PC: Choosing Hardware for a Real Home Server
The laptop era ends and a new one begins. This part covers why the laptop was outgrown, the hardware research that led to the Lenovo ThinkCentre M720q Tiny, the 32GB RAM decision, and what changed for every service covered in the earlier parts. The natural starting point if you’re buying hardware rather than repurposing old gear.
Recommended reading order
If you are building a similar setup, I would read the posts in this order:
- Part 2 for the base server setup.
- Part 3 or Part 4 for your first media service.
- Part 5 before trusting the server with photos.
- Part 6 if you want document search.
- Parts 8–10 once the server has enough services that automation, dashboards, and clean local URLs become useful.
Part 1 is the motivation. The rest are implementation notes.
What I would do differently next time
I would decide on storage and backups earlier. The first few services are easy to install, but the important questions show up later: where does user data live, what happens after a reboot, and how would I restore this if the server died?
I would also think about hardware earlier. The laptop was a great way to start — low commitment, low cost, and it proved the concept. But once the concept was proven, I spent months working around constraints that a proper mini PC would have solved on day one. The M720q cost about $200 and eliminated almost every hardware limitation I was fighting. If I were starting over knowing what I know now, I would skip straight to a used enterprise Tiny desktop.
The bigger point
The server is not really about hoarding media or collecting services. It is about environment design. I want the path of least resistance to lead toward my own library, my own documents, my own photos, and the media I deliberately chose.
That is the reason this project keeps going. The hardware is just the hardware — first a laptop, now a mini PC, maybe something else down the road. The real project is making my digital defaults quieter, and there’s usually one more service that would help, so check back: this list grows whenever the next one earns its place.