Alfred is the server in my homelab. It doesn't look like much, but it runs my email, my files, my code, the software behind my businesses, and the page you are reading right now.
I named it Alfred because that's the job: the quiet one in the background who keeps everything running so the rest of the day can go to building.
What's inside
- An undervolted Intel Core i9-12900K with 96 GB of RAM
- An NVIDIA RTX 3090 with 24 GB of video memory
- A mirrored 2 TB NVMe ZFS pool for the containers
- Proxmox VE 9 tying it all together
Around Alfred
- TrueNAS on a Beelink ME Mini: Intel N150, 12 GB of RAM, four 4 TB NVMe SSDs in two mirrored pools. Bulk storage and Alfred's backups.
- pfSense on bare metal: a fanless Protectli VP2420 with a Celeron J6412, four 2.5 GbE ports and open-source coreboot firmware.
- PiKVM: keyboard, video and mouse over the network, so I can reach the hardware even when nothing has booted.
- Raspberry Pi 5 (8 GB): Pi-hole with its own recursive DNS resolver, for the whole homelab.
One service, one container
Everything on Alfred lives in its own LXC container or VM, about forty of them. Mail is one. Git is another. The ERP, the helpdesk, the AI tools and each website get their own too.
That separation is what makes it manageable. If I want to try a risky change, I copy the container, break the copy, and only touch the real one when it works. If something goes wrong anyway, a snapshot puts it back.
The front door
Traffic comes in through Cloudflare, then Nginx Proxy Manager sends each address to the right container. Every public site gets a Let's Encrypt certificate. Private tools stay on the homelab network, behind a sign-in.
Why the GPU matters
The 3090 is what turns Alfred from a file server into a workshop. It runs language and image models locally and powers the AI agents that help me write and ship code. None of that costs anything per call, so I can try ideas freely.
What's next
More of the boring work handed to Alfred, and more notes here as it happens.