cd ..
2 min read

The boring homelab checklist

Six things to sort out before you buy a second server, in the order they usually bite.

A homelab is easy to start and easy to regret. Before adding more hardware, work through this list. It is deliberately boring, because the boring parts are what keep the fun parts running.

1. Decide what has to stay up

Separate the services you rely on (DNS, backups, a password manager) from the ones you experiment with. Give the first group stable hardware and the second group a place where breaking things is fine.

2. Use static addressing and names

Give every machine a DHCP reservation and a name. Remembering 10.0.0.23 does not scale past three machines.

3. Put a reverse proxy in front

One entry point with automatic TLS beats a dozen ports. Caddy needs very little configuration:

compose.yaml
services:
  caddy:
    image: caddy:2
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - caddy_data:/data

volumes:
  caddy_data:

4. Back up before you need to

Follow the 3-2-1 rule: three copies, two kinds of media, one off-site. Then test a restore, because an untested backup is a hope, not a backup.

Snapshots on the same disk are not backups. If the disk dies, both go with it.

5. Monitor the basics

Disk space, memory and whether the service answers. Anything more elaborate can wait until these three are green.

6. Write it down

Keep a short document of what runs where, how it was set up, and how to rebuild it. Future you is the primary audience.