Skip to main content
overview

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

February 23, 2026

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

LayerTechnologyPurpose
FrameworkAstro 5.17Static + SSR hybrid rendering
StylingTailwind CSS 4Utility-first CSS with custom design system
LanguageTypeScriptType-safe server routes and client scripts
ContentMDX + Markdown6 content collections with Zod schemas
HostingCloudflare PagesGlobal CDN with edge SSR
APICloudflare Workers85+ server-side API routes
StateCloudflare KVSession data, AI conversations, cached responses
AuthCloudflare AccessJWT-based authentication with role mapping
VPNTailscaleMesh network connecting all nodes
GitGitea (self-hosted)Primary repository at git.Arcturus-Prime.com
MirrorGitHubAuto-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)

DetailValue
Subnet10.42.0.0/24
LocationHome (Colorado Springs)
GatewayOPNsense at 10.42.0.1
Primary ProxmoxIzar-Host at 10.42.0.194
Secondary ProxmoxArcturus-Host at 10.42.0.100
Services HostAltair-Link at 10.42.0.199
DesktopCapella-Outpost at 10.42.0.100
NASRigel-Silo (decommissioned)

Andromeda (the remote site)

DetailValue
Subnet192.168.20.0/24
Locationthe remote site (remote site)
ProxmoxTarn-Host at 192.168.20.118
UnraidMeridian-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:

MetricCount
Total pages~130
API routes~85
Content collections6
Blog posts25+
Journal entries65+
Docker containers30+
Total storage252TB+
Build swarm cores62
Tailscale nodes12
Proxmox hosts3
Cloudflare Tunnels2

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:

CollectionDirectoryPurposeKey Fields
postssrc/content/posts/Blog articles and tutorialscategory, complexity, technologies
journalsrc/content/journal/Daily engineering logsmood, distro, system
docssrc/content/docs/Technical documentation (this hub)section, order, toc
learnsrc/content/learn/Educational trackstrack, difficulty, duration, prerequisites
configurationssrc/content/configurations/Config file referencesversion, github
projectssrc/content/projects/Project showcasesstatus, 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:

SectionContent
OverviewYou are here. Site architecture, deployment, getting started.
InfrastructureNetwork topology, hardware inventory, Tailscale config.
Build SwarmGentoo distributed build system — architecture, handbook, operations.
CloudflarePages, Workers, KV, Access, Tunnels configuration.
AIMulti-provider AI integration, prompt engineering, conversation storage.
AdminCommand center, monitoring dashboards, admin API routes.
ProjectsPer-project technical documentation.
ReferenceQuick-reference tables, cheat sheets, troubleshooting guides.
SiteAstro 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