Writing

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

Saturday. May 30, 2026

Why this series exists

This series is my build log for turning an old laptop into a quiet, LAN-only home server. The technical goal is 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.

I started with digital minimalism, then worked forward in small steps: Debian, SSH, storage folders, Jellyfin, Audiobookshelf, Immich, Paperless-ngx, qBittorrent-nox, yt-dlp, Homepage, Pi-hole, and Caddy.

If you want the philosophy behind the project, start with Part 1. If you already have a spare laptop and want to build, start with Part 2.

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.

If you are building a similar setup, I would read the posts in this order:

  1. Part 2 for the base server setup.
  2. Part 3 or Part 4 for your first media service.
  3. Part 5 before trusting the server with photos.
  4. Part 6 if you want document search.
  5. 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 laptop died?

I would also add clean local URLs sooner. Typing ports is fine at the beginning, but once several services are running, Pi-hole plus Caddy makes the whole setup feel less like a pile of experiments and more like a small personal infrastructure project.

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 kept going. The laptop is just the hardware. The real project is making my digital defaults quieter.