NOOB2ROOT

Field Guide Platform

Raspberry Pi

A credit-card-sized Linux computer that sips power, which makes it the natural home for always-on services like DNS, a honeypot and an AI agent gateway.

#What it is

The Raspberry Pi is a small single-board computer: an ARM processor, RAM, USB, Ethernet and Wi-Fi on one board about the size of a credit card. It runs Raspberry Pi OS, which is Debian with a few Pi-specific extras, so almost anything you can apt install on a normal Linux server works on it.

I use a Pi 4 with 4 GB of RAM on the 64-bit, Debian 13 "Trixie" based release.

#Why I use it

The services in these posts all have one thing in common: they only work if they're always on. DNS, a honeypot and a chat gateway are useless on a laptop that sleeps. A Pi idles at a few watts, has no fan, makes no noise, and sits next to the router doing its job for years.

#Benefits

  • Cheap to run. A few watts, around the clock, costs very little over a year.
  • Real Linux. systemd, apt, Python and SSH all behave exactly as they do on a server.
  • Wired Ethernet. For DNS you want a cable, not Wi-Fi, and the Pi has a proper gigabit port.
  • More headroom than you'd think. A 4 GB Pi 4 runs Hermes, Pi-hole, Unbound, OpenCanary, Loki, Alloy and Grafana together with over 3 GB of RAM still free.

#Trade-offs and alternatives

  • SD cards wear out. Constant log writes are exactly what kills them. Boot from a USB SSD if you can.
  • It becomes a single point of failure. Once the whole house uses it for DNS, a dead Pi means no internet for anyone until you switch the router back. Tell your household how to roll back.
  • ARM64. Nearly everything mainstream ships ARM64 builds now, but the odd niche tool doesn't.
  • Alternatives: an old laptop (has a built-in UPS: its battery), a small N100-class mini PC (more power, still efficient), or a VM on a NAS you already run.

#Gotchas I hit

  • On Trixie, /tmp is a RAM disk and is wiped on every reboot. Anything that defaults to storing data in /tmp (Loki does) loses it all on restart.
  • If sudo complains unable to resolve host, your hostname is missing from /etc/hosts. Add 127.0.1.1 <hostname>.
  • Networking is managed by NetworkManager on current releases, so older guides that edit /etc/dhcpcd.conf no longer apply.

← All Field Guide entries