Side reading

Start with the current Immich requirements, then add headroom for Authentik and monitoring. Architecture extensions, memory and accelerator support matter more than the machine's age.

What matters #

Memory, first. Immich's current guidance calls for at least 6 GB for a smooth experience before the identity and monitoring services in this book. Treat 16 GB as a reasonable starting point, measure peak use during imports and leave headroom for database maintenance. More memory does not remove the need for container limits.

Disk, second. Two questions: how much, and how fast. Capacity is about your library, which you can measure today and should double. SSD for the operating system, databases and application state, because databases are latency-sensitive. Spinning disks are fine for bulk media and cheaper per terabyte.

CPU and instruction set. Check that the exact processor meets Immich's current architecture requirement; current amd64 machine-learning images require x86-64-v2. CPU capacity matters during imports, video processing and machine-learning jobs.

A supported video accelerator. Intel Quick Sync is common, but support depends on the model, host driver and Immich configuration. Hardware video encoding can accelerate transcoding; it does not automatically accelerate Immich's machine-learning models.

Power draw, because it runs continuously. The difference between 10 W and 60 W idle is meaningful over a year and worth knowing before you buy.

Noise, because it lives in your house. Fanless if it goes in a living space.

What does not matter #

Do not buy from one specification in isolation. Core count, clock speed, ECC memory and dedicated accelerators have workload-specific value. For this build, measured idle power, supported media features, memory capacity and replaceable storage usually affect daily operation more than server branding.

The realistic options #

A mini PC. What this book assumes. Many are quiet and efficient, but storage expansion, cooling and idle power vary. Check measurements for the exact model.

An old laptop. Often already available, with a screen for recovery. A healthy battery can bridge a short interruption for the laptop only; it does not power the router, switch or internet terminal. Inspect battery health and remove a swollen or unsafe pack according to the manufacturer's guidance. Storage expansion is usually limited.

An old desktop. Often has room for disks and memory. Measure idle power and noise rather than assigning a value from its age or case size.

A single-board computer. Can be efficient, but verify the CPU architecture, available memory, supported video paths and storage interface. Reliable USB storage depends on the controller, power supply, enclosure and cable; removable flash media is a poor default for a write-heavy database.

A rented server. Reliable and somebody else's computer, which is the thing this book is about avoiding. Reasonable for backups.

Disk layout #

Start with one SSD holding everything. Split when you have a reason.

The reason usually arrives as bulk media outgrowing the SSD. Chapter 7's directory layout is what makes that a mount rather than a rebuild: put a bigger disk on /srv/homeserver/data, leave application state where it is.

Two disks in a mirror protects against one failing. It is not a backup and does not replace one. If you only have the budget for one of them, buy the backup.

Before you buy #

  • Does the processor have an integrated GPU with hardware encoding, and does the kernel you plan to run support it?
  • How many drives can it hold, and of what kind?
  • What does it draw at idle, according to somebody who measured rather than the specification?
  • Can you get to the memory and disk without special tools?
  • Is there a firmware option for automatic power-on after a power cut? You want it on.

The honest advice #

Use existing hardware when it meets the current application requirements and passes storage and battery checks. Measuring the real import and idle workloads gives you better purchasing evidence than estimating them in advance.

Buy the off-site backup storage from chapter 11 before you buy a better server.

Settings

Your values

The book is written with placeholder names so it makes sense to everybody. Put your own in and every chapter, every command and every copy-paste prompt updates to match.

Nothing here is sent anywhere. It is saved in this browser, so it comes back next time. A different browser or a private window gets the placeholders again.

Live preview

$ ssh admin@192.168.1.20
$ sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp
$ sudo hostnamectl set-hostname homeserver
$ sudo timedatectl set-timezone Europe/Paris

Real commands from chapters 2, 3 and 4. They change as you type.

The account you log in as. Not root, and not necessarily the same name you use on your laptop.

Introduced in Chapter 2, Meet your server

The book's placeholder is admin

What the machine calls itself. You choose it, and it shows up in your shell prompt and your logs.

Introduced in Chapter 3, A safe front door

The book's placeholder is homeserver

The IP address your server has on your home network, from ip -brief addr.

Introduced in Chapter 2, Meet your server

The book's placeholder is 192.168.1.20

The address range and prefix shown by ip route or ip -brief addr, written in CIDR form. Copy the real prefix; do not guess /24.

Introduced in Chapter 2, Meet your server

The book's placeholder is 192.168.1.0/24

The address traffic goes to on its way out of your house, from ip route.

Introduced in Chapter 2, Meet your server

The book's placeholder is 192.168.1.1

In Region/City form, or Etc/UTC if you would rather read logs in UTC.

Introduced in Chapter 3, A safe front door

The book's placeholder is Europe/Paris

A registered name you control. Chapter 8 uses it for the LAN route; chapter 12 uses a separate private Tailscale name remotely.

Introduced in Chapter 8, One door, many rooms

The book's placeholder is example.com

The email identity allowed to administer the tagged server in your Tailscale policy.

Introduced in Chapter 10, Your own private network

The book's placeholder is you@example.com

The mailbox that should receive actionable home-server alerts.

Introduced in Chapter 14, Knowing it is alive

The book's placeholder is alerts@example.com

Once you save, the prose and the commands read with your names, the copy buttons copy your values, and the copy-paste prompts describe your machine accurately. That last one matters: an assistant told your network is 192.168.1.0/24 when it is not will send you chasing the wrong thing.

Anything you leave empty keeps the book's placeholder.