Home servers

Two machines, one private agent cloud.

The Ubuntu server keeps services available around the clock. The Arch workhorse handles development and local compute, with the MacBook as the fleet interface.

Fleet topologyThe MacBook connects to both servers over a private mesh. The Ubuntu server keeps services running, while the Arch workhorse handles development and local compute. Both can send model work to external APIs.

Ubuntu server

I keep the server deliberately modest. It coordinates API-backed workloads, persistent services and background jobs while the Arch workhorse handles development and local compute and the MacBook provides the fleet interface.

That separation gives me an environment I can restart, limit and change without tying infrastructure to the machines I use every day.

CPU
AMD FX-4300Four physical cores for modest orchestration work.
Memory
11 GB RAM + 4 GB swapServices run inside explicit memory limits.
Storage
120 GB SSD + 500 GB HDDActive state stays on SSD; larger artifacts move to HDD.
GPU
NVIDIA GTX 650Not used for inference; model work runs through external APIs.
OS
UbuntuA stable host for containers and supervised services.
Access
TailscalePrivate mesh access without exposing the server publicly.

Arch workhorse

The Arch workhorse is the more capable server. It handles development environments, local builds and workloads that need more CPU, memory or GPU capacity than the Ubuntu server can provide.

Keeping that work on a separate machine lets the always-on services remain predictable while heavier jobs use the hardware built for them.

CPU
AMD Ryzen 5 5600XSix cores and twelve threads for builds and concurrent jobs.
Memory
32 GB RAMEnough room for development environments and parallel workloads.
GPU
NVIDIA RTX 5060 TiGPU capacity for local compute and graphics workloads.
OS
Omarchy (Arch)Omarchy provides the development environment on top of Arch Linux.
Access
TailscalePrivate fleet access from the MacBook and Ubuntu server.

What runs here

Agent runtime

  • Hermes Agent

    The resident agent runtime and command interface on the Ubuntu server.

  • bb

    Runs Claude Code, Codex, Pi and Cursor agents through one coordinated interface across the fleet.

Fleet control

  • Tailscale

    Connects the MacBook and both servers over a private network.

  • Wake-on-LAN

    Lets the always-on Ubuntu server wake the Arch workhorse when I need it.

Knowledge and tools

  • Ark

    Indexes user-confirmed knowledge for deliberate retrieval.

  • MCP

    Provides a standard boundary between agents and hosted tools.

Operating principles

  • Private by default

    The machines communicate over a private mesh. Only intentionally public facts leave it.

  • Explicit resource limits

    Jobs receive clear CPU, memory and time bounds so one workload cannot consume the host.

  • Measured upgrades

    Hardware and software change when a measured limit justifies the cost.

  • Reversible, understandable systems

    I prefer setups I can inspect, undo and replace without reconstructing forgotten decisions.

What this enables

The fleet lets me work remotely without giving up desktop compute. Builds, heavier jobs and several agents run on the servers, so the MacBook stays responsive and uses less battery.

The Ubuntu server stays online as the control point. I can use it to wake the Arch workhorse when I need more capacity, then shut that machine down when the work is finished.

Last reviewed · September 2026