Welcome to Arcturus-Prime
Overview of Arcturus-Prime - a personal homelab portfolio, blog, and command center built on Astro 5.17 and deployed to Cloudflare Pages
Welcome to Arcturus-Prime
Arcturus-Prime 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 Arcturus-Prime Does
Arcturus-Prime 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 4 | Utility-first CSS with custom design system |
| Language | TypeScript | Type-safe server routes and client scripts |
| Content | MDX + Markdown | 6 content collections with Zod schemas |
| 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.Arcturus-Prime.com |
| Mirror | GitHub | Auto-mirror for Cloudflare Pages CI/CD |
Key Dependencies
{
"astro": "5.17.x",
"tailwindcss": "4.x",
"@astrojs/cloudflare": "latest",
"@astrojs/mdx": "latest",
"openai": "latest",
"@anthropic-ai/sdk": "latest",
"@google/generative-ai": "latest"
}
The Two Networks
Arcturus-Prime manages infrastructure spanning two physical locations connected by Tailscale.
Milky Way (Home Network)
| Detail | Value |
|---|---|
| Subnet | 10.42.0.0/24 |
| Location | Home (Colorado Springs) |
| Gateway | OPNsense at 10.42.0.1 |
| Primary Proxmox | Izar-Host at 10.42.0.194 |
| Secondary Proxmox | Arcturus-Host at 10.42.0.100 |
| Services Host | Altair-Link at 10.42.0.199 |
| Desktop | Capella-Outpost at 10.42.0.100 |
| NAS | Rigel-Silo (decommissioned) |
Andromeda (the remote site)
| Detail | Value |
|---|---|
| Subnet | 192.168.20.0/24 |
| Location | the remote site (remote site) |
| Proxmox | Tarn-Host at 192.168.20.118 |
| Unraid | Meridian-Host at 192.168.20.110 |
| Synology (primary) | Cassiel-Silo at 192.168.20.17 |
| Synology (secondary) | Mobius-Silo at 192.168.20.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:
Capella-Outpost 100.78.91.42 Desktop workstation
Altair-Link 100.100.73.88 Services gateway
Izar-Host 100.119.148.18 Primary hypervisor
Tarn-Host 100.82.27.118 Remote hypervisor
Meridian-Host 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 | 6 |
| Blog posts | 25+ |
| Journal entries | 65+ |
| Docker containers | 30+ |
| Total storage | 252TB+ |
| Build swarm cores | 62 |
| Tailscale nodes | 12 |
| Proxmox hosts | 3 |
| Cloudflare Tunnels | 2 |
Content System
Arcturus-Prime uses Astro’s content collections with Zod schema validation. Six collections, each with specific frontmatter schemas defined in src/content/config.ts:
| Collection | Directory | Purpose | Key Fields |
|---|---|---|---|
posts | src/content/posts/ | Blog articles and tutorials | category, complexity, technologies |
journal | src/content/journal/ | Daily engineering logs | mood, distro, system |
docs | src/content/docs/ | Technical documentation (this hub) | section, order, toc |
learn | src/content/learn/ | Educational tracks | track, difficulty, duration, prerequisites |
configurations | src/content/configurations/ | Config file references | version, github |
projects | src/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.Arcturus-Prime.com/KeyArgo/Arcturus-Prime
Mirror: https://github.com/KeyArgo/Arcturus-Prime (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.