Skip to main content
Overview

Welcome to ArgoBox

Overview of ArgoBox - a personal homelab portfolio, blog, and command center built on Astro 5.17 and deployed to Cloudflare Pages

February 23, 2026

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.

overviewarchitecturehomelabastrocloudflare