12 of 13 parts published

Building a Self-Hosted AI Development Platform

Forge is an old ASUS dual Xeon workstation — 32GB of RAM, two small SSDs, two 6TB drives — rebuilt into a documented, rebuildable home platform: Proxmox underneath, a ZFS mirror for the data that matters, a Docker host running twenty-odd services, self-hosted Git with CI, and publishing to the internet without a single open router port.

This series is the honest build log. It covers the decisions and their reasoning, but also the failures that shaped them: the local AI that was too slow to keep, the disk that filled to 97% while a metrics stack watched in silence, the DNS toggle that took every public service offline, and the services retired for having no job. Every post follows the same rule — goal, decisions, what broke, what it delivered.

Parts publish in build order. The roadmap below shows where the series has been and where it goes next.

1

Part 1: Why Build One?

Part 1 of the Forge series: turning an old dual Xeon workstation into a documented, rebuildable home platform for AI-assisted development, self-hosted Git, and automation

9

Part 9: Turning the Platform into a Repeatable Build

Part 9 of the Forge series: the /opt/platform layout, confessing drift in a gaps file, CI that validates the repo, Renovate proposing updates, and the allowlisted workflow that deploys a merged PR

11

Part 11: Music and Photos with Navidrome and Immich

Part 11 of the Forge series: the storage tiers earn their keep — Navidrome as the low-risk first media service, Immich for photos only after the backup posture deserved them, and a 44GB import done safely

12

Part 12: One Login with Authentik

Part 12 of the Forge series: a self-hosted identity provider for the platform — OIDC for the Immich apps, a worker with no Docker socket, break-glass accounts, and a restore proof before trust

13
Coming soon

Running It Calmly: Logs, Update Watching, and Morning Operations

The operator layer — searchable container logs with Loki and Alloy, WUD watching registries for updates, quiet-hours work lanes for risky storage jobs, and the automated morning digest that turned platform care from a hobby into a routine.