Engineering Lab
My engineering lab runs on two mini PCs. The first runs Proxmox VE and hosts three virtual machines: a firewall, a Docker host for containers, and Home Assistant for home automation. The second hosts my AI agents. Each machine has its own page with installation and configuration notes.
A place to build outside production.
A place where I experiment with infrastructure, privacy, open-source software, automation, networking, self-hosting, and autonomous agents outside the constraints of production systems.
The whole lab in one table.
- Main host
- A mini PC with an Intel N100 (4 cores), 16 GB of memory, and a 512 GB SSD
- Hypervisor
- Proxmox VE 8.4, a single node with no subscription
- Virtual machines
- Three, all starting on their own at boot: OPNsense, Docker Host, and Home Assistant OS
- Containers
- 19 running on the Docker host, in three Docker Compose stacks plus Portainer
- Network
- Two Ethernet ports on separate bridges, with OPNsense as the only path between them
- Second mini PC
- Hosts my AI agents, Hermes and OpenClaw, which I reach over Telegram
Proxmox: one mini PC, three virtual machines.
Mini PC
Each physical Ethernet port has its own Linux bridge in Proxmox, and the virtual machines plug into the bridges rather than into the ports. OPNsense is the only guest on both bridges, so it sits between the two networks and all traffic between them has to pass through it. Every guest starts on its own after a power cut, so the lab comes back without anything to do by hand.
One job per virtual machine.
OPNsense. The firewall and router, running OPNsense 26.7 in a virtual machine with 4 virtual CPUs and 2 GiB of memory. It sits between the two Ethernet ports. Its page has step-by-step guides for static IP mappings, a WireGuard VPN, Unbound ad blocking, and a Caddy reverse proxy.
Docker Host. Manjaro Linux running Docker 29.7, managed with Portainer. Nineteen containers run here, grouped into Compose stacks by purpose. The infrastructure stack holds the Homepage dashboard, Uptime Kuma monitoring, and Speedtest Tracker. The organizer stack holds Karakeep bookmarks with full-text search, Vikunja tasks, Radicale calendar and contacts, and a PostgreSQL database. A media stack is defined but nothing runs in it yet. The dashboard is also the subject of a case study on configuring it with AI.
Home Assistant OS. Home Assistant OS 13.1 in a virtual machine with 2 virtual CPUs and 4 GiB of memory. It needs UEFI firmware, so its virtual machine is built a little differently from the other two, and one USB device on the host is passed through to it.
A dedicated machine for agents.
A second mini PC hosts my AI agents, Hermes and OpenClaw, separate from the Proxmox host. Both are connected to Telegram, so I can message them and receive their updates from my phone.
Where the lab is tight.
Memory is the tight spot. The three guests are given 14 GiB of the host’s 15.4 GiB, so adding a fourth means shrinking one. The Docker host is the obvious candidate: its containers use only about 1.6 GiB of the 8 GiB it has. Storage is a single SSD with no redundancy, which is fine for a lab like this as long as the important data is backed up somewhere else. The Proxmox page covers both in more detail.
Start with Proxmox.
- ProxmoxThe hypervisor at the base of the lab.
- OPNsenseAn open-source firewall and routing platform.
- Docker HostA virtual machine for running containers.
- Home Assistant OSThe appliance operating system for Home Assistant.