Welcome to ArgoBox
Overview of ArgoBox - a personal homelab portfolio, blog, and command center built on Astro 5.17 and deployed to Cloudflare Pages
Welcome to ArgoBox
ArgoBox is a personal homelab portfolio and blog site that grew into something much bigger than a portfolio. What started as a place to document infrastructure projects turned into a full command center for managing two networks, 30+ Docker containers, a distributed Gentoo build swarm, and 252TB of storage across multiple sites.
The site runs on Astro 5.17 with server-side rendering, deployed to Cloudflare Pages with Workers handling API routes, KV for state management, and Access for authentication. It is both the public face of the homelab and the private control plane for managing it.
What ArgoBox Does
ArgoBox serves five distinct functions from a single codebase:
Public-Facing
- Blog -- Technical posts covering homelab builds, Gentoo development, infrastructure deep dives, and debugging war stories. Long-form content with code blocks, diagrams, and real configurations.
- Portfolio -- Project showcases for the build swarm, ArgoOS, command center, and other homelab projects. Each project has status tracking, tech stack listings, and links to source repos.
- Learning Hub -- Educational content organized by tracks (Linux fundamentals, Docker, Gentoo advanced). Tutorials with prerequisites, difficulty levels, and estimated completion times.
Admin-Only (Behind Cloudflare Access)
- Command Center -- Real-time dashboards for system health, Docker container status, storage utilization, network topology, and build swarm progress. Live data from API endpoints proxied through Workers.
- AI Tools -- Multi-provider AI chat interface (OpenRouter, Anthropic, Google GenAI, Ollama) for infrastructure troubleshooting and documentation generation. Conversation history persisted in KV.
Tech Stack
| Layer | Technology | Purpose |
|---|---|---|
| Framework | Astro 5.17 | Static + SSR hybrid rendering |
| Styling | Tailwind CSS 3 | Utility-first CSS with custom design system |
| Language | TypeScript | Type-safe server routes and client scripts |
| Content | MDX + Markdown | 5 content collections served via content-backend.ts |
| Hosting | Cloudflare Pages | Global CDN with edge SSR |
| API | Cloudflare Workers | 85+ server-side API routes |
| State | Cloudflare KV | Session data, AI conversations, cached responses |
| Auth | Cloudflare Access | JWT-based authentication with role mapping |
| VPN | Tailscale | Mesh network connecting all nodes |
| Git | Gitea (self-hosted) | Primary repository at git.argobox.com |
| Mirror | GitHub | Auto-mirror for Cloudflare Pages CI/CD |
Key Dependencies
{
"astro": "^5.17.1",
"tailwindcss": "^3.4.17",
"@astrojs/cloudflare": "latest",
"@astrojs/mdx": "latest",
"@astrojs/react": "latest",
"openai": "latest",
"@google/generative-ai": "latest"
}
The Two Networks
ArgoBox manages infrastructure spanning two physical locations connected by Tailscale.
Jove (Home Network)
| Detail | Value |
|---|---|
| Subnet | 10.0.0.0/24 |
| Location | Home (Colorado Springs) |
| Gateway | OPNsense at 10.0.0.1 |
| Primary Proxmox | proxmox-io at 10.0.0.200 |
| Services Host | argobox-lite at 10.0.0.199 |
| Desktop | callisto-galileo at 10.0.0.100 |
| NAS | synology-jove (decommissioned) |
Kronos (Dad's House)
| Detail | Value |
|---|---|
| Subnet | 192.168.50.0/24 |
| Location | Dad's house (remote site) |
| Proxmox | proxmox-titan at 192.168.50.118 |
| Unraid | unraid-masaimara at 192.168.50.110 |
| Synology (primary) | synology-casablanca at 192.168.50.17 |
| Synology (secondary) | synology-margaritaville at 192.168.50.30 |
Tailscale Mesh VPN
The two networks are stitched together with Tailscale, forming a flat mesh across 12 nodes on the 100.x.x.x address space. Every node can reach every other node directly -- no hub-and-spoke, no relay servers for local traffic.
Key Tailscale nodes:
callisto-galileo 100.78.91.42 Desktop workstation
argobox-lite 100.100.73.88 Services gateway
proxmox-io 100.119.148.18 Primary hypervisor
proxmox-titan 100.82.27.118 Remote hypervisor
unraid-masaimara 100.109.63.110 Remote storage
Subnet routes are advertised so non-Tailscale devices on each LAN can reach the other side. Latency between sites averages 38ms.
By the Numbers
These are live numbers as of February 2026:
| Metric | Count |
|---|---|
| Total pages | ~130 |
| API routes | ~85 |
| Content collections | 5 |
| Blog posts | 25+ |
| Journal entries | 65+ |
| Docker containers | 30+ |
| Total storage | 252TB+ |
| Build swarm cores | 66 |
| Tailscale nodes | 12 |
| Proxmox hosts | 3 |
| Cloudflare Tunnels | 2 |
Content System
ArgoBox uses a dynamic content system. Content lives at the repo root in content/ (not src/content/). Metadata is generated at build time by build-content-index.mjs, and content bodies are served via content-backend.ts (Gitea API in production, local filesystem in dev):
| Collection | Directory | Purpose | Key Fields |
|---|---|---|---|
posts |
content/posts/ |
Blog articles and tutorials | category, complexity, technologies |
journal |
content/journal/ |
Daily engineering logs | mood, distro, system |
docs |
content/docs/ |
Technical documentation (this hub) | section, order, toc |
configurations |
content/configurations/ |
Config file references | version, github |
projects |
content/projects/ |
Project showcases | status, github, website |
Content files are Markdown or MDX. The docs collection supports nested subdirectories for sections (docs/overview/, docs/build-swarm/, docs/infrastructure/, etc.), with section and order frontmatter fields controlling navigation grouping and sort order.
Repository
The canonical repository lives on the self-hosted Gitea instance:
Primary: https://git.argobox.com/KeyArgo/argobox
Mirror: https://github.com/KeyArgo/argobox (auto-synced)
Gitea is the source of truth. GitHub is a read-only mirror that triggers Cloudflare Pages builds on push. See the Deployment Pipeline doc for the full CI/CD flow.
Documentation Sections
This docs hub is organized into the following sections:
| Section | Content |
|---|---|
| Overview | You are here. Site architecture, deployment, getting started. |
| Infrastructure | Network topology, hardware inventory, Tailscale config. |
| Build Swarm | Gentoo distributed build system -- architecture, handbook, operations. |
| Cloudflare | Pages, Workers, KV, Access, Tunnels configuration. |
| AI | Multi-provider AI integration, prompt engineering, conversation storage. |
| Admin | Command center, monitoring dashboards, admin API routes. |
| Projects | Per-project technical documentation. |
| Reference | Quick-reference tables, cheat sheets, troubleshooting guides. |
| Site | Astro configuration, content system, component library. |
Each section has its own ordering via the order frontmatter field. Start with this overview section, then explore based on what you need.