Infrastructure, Network, Services & Space Views
Documentation for the four infrastructure-focused Command Center pages - /command/infrastructure, /command/network, /command/services, and /command/space
Infrastructure, Network, Services & Space Views
Four Command Center pages focus on infrastructure visibility. All four use BaseLayout + CommandNav (except Space, which uses a custom layout).
Infrastructure (/command/infrastructure)
File: src/pages/command/infrastructure.astro
This page organizes every system in the homelab by its container/virtualization platform rather than by physical location. On load, it attempts a server-side fetch to the Command Center API:
DEV: http://10.42.0.199:8093/api/v1/infrastructure/systems
PROD: https://status.Arcturus-Prime.com/api/v1/infrastructure/systems
The API returns a systems array where each entry has a platform field. Systems are grouped into five platform sections:
| Platform | Icon | Color | Description |
|---|---|---|---|
| Kubernetes (K3s) | ⎈ | #326ce5 | Lightweight K3s cluster on Altair-Link (10.42.0.199) |
| Docker | 🐳 | #2496ed | Application containers across Altair-Link and Meridian-Host (192.168.20.50) |
| LXC | 📦 | #f5a623 | System containers on Proxmox Tarn-Host (192.168.20.100) — drone-Tarn, Polaris-Media |
| Proxmox VE | 🖥️ | #e57000 | Hypervisor nodes — Izar-Host (10.42.0.2), Arcturus-Host, Tarn-Host (192.168.20.100) |
| Bare Metal | ⚙️ | #8b5cf6 | Capella-Outpost (10.42.0.100), Tau-Host, NAS units |
Static Fallback
When the API is unreachable, a comprehensive static fallback renders the full Docker container inventory. Key containers by host:
Altair-Link (10.42.0.199):
- homepage, swarm-gateway (port 8090), homelab-services-api (port 8093), portainer (port 9443), traefik, uptime-kuma (port 3003), cloudflared, dozzle
Meridian-Host (192.168.20.50):
- drone-Meridian-Host, plex (port 32400), tautulli (port 8181), overseerr, audiobookshelf, sonarr (stopped), radarr (stopped), prowlarr (stopped), bazarr (stopped)
Each container card shows hostname, host, status (running/stopped), purpose, and port/specs.
Server Specs
The page includes hardware specs for key systems when available. For example:
- Izar-Host at 10.42.0.2: Primary Proxmox hypervisor, hosts drone-Izar-Host VM
- Tarn-Host at 192.168.20.100: Remote Proxmox, hosts LXC containers for build drones and Plex
- Capella-Outpost at 10.42.0.100: Gentoo workstation, i7-4790K, RTX 4070 Ti, 32GB RAM
Network (/command/network)
File: src/pages/command/network.astro
Dual-site network topology page. Imports all host data from src/config/network-data.ts:
MILKY_WAY_HOSTS— all Milky Way hosts (10.42.0.0/24)ANDROMEDA_HOSTS— all Andromeda hosts (192.168.20.0/24)TAILSCALE_NODES— mesh VPN node listNETWORK_SUMMARY— aggregate stats
Galaxy Network Cards
Two side-by-side cards display network metadata:
Milky Way (Milky Way):
| Field | Value |
|---|---|
| Subnet | 10.42.0.0/24 |
| Gateway | OPNsense at 10.42.0.1 |
| Switch | MikroTik managed switch |
| ISP | Residential fiber |
| Hosts | ~8 systems |
Andromeda (Andromeda):
| Field | Value |
|---|---|
| Subnet | 192.168.20.0/24 |
| Gateway | ASUS GT-AXE16000 |
| ISP | Residential cable |
| Hosts | ~7 systems |
Host Inventory
Below each galaxy card, every non-decommissioned host is listed with a colored type dot, hostname, and IP address. Type dots indicate role: hypervisor, NAS, workstation, build drone, gateway, etc.
Tailscale Mesh Status
The NetworkTopology component (src/components/command/NetworkTopology.astro) renders a visual mesh diagram showing Tailscale connections between sites. Stats chips across the top show: total systems, VPN node count, storage capacity, tunnel services count, and a live API status indicator.
API Status
A stat chip in the top bar shows real-time API connectivity. It starts as “Connecting…” and updates to “Online” or “Offline” based on fetch results from the services API.
Services (/command/services)
File: src/pages/command/services.astro
The services dashboard combines a curated service inventory with live service discovery. It uses Starfield and glass morphism styling.
Stats Bar
Five pills at the top show: Docker container count, K3s pod count, Proxmox VM count, total core services (static count from the curated list), and online count (live).
Service Categories
Eight categories covering approximately 40 services total:
| Category | Icon | Service Count | Key Services |
|---|---|---|---|
| Public Services | 🌍 | 7 | Gitea, OpenWebUI, VS Code Server, Vaultwarden, File Browser, Quartz Blog, Command Center |
| Build Infrastructure | ⚡ | 4 | Gateway (port 8090), Orchestrator Primary, Orchestrator Standby, Binhost |
| Kubernetes (K3s) | ☸️ | 4 | Homepage, Grafana, Prometheus, Loki |
| Docker Services | 🐳 | 4 | Portainer, Traefik, Uptime Kuma, Cloudflare Tunnel |
| Media Services | 🎬 | 4 | Plex (port 32400), Tautulli, Overseerr, Audiobookshelf |
| Storage & Backup | 💾 | 4 | Unraid (Meridian-Host), Synology DSM (Cassiel-Silo), Synology DSM (Mobius-Silo), rclone |
| Hypervisors & Network | 🖥️ | 5 | Proxmox VE x3 (Izar-Host, Arcturus-Host, Tarn-Host), OPNsense, Tailscale mesh |
Each service entry shows: name, host, port (where applicable), type tag, description, and optional URL for public services.
Live Discovery
Client-side JavaScript fetches live Docker container states and K3s pod status from the proxy APIs, overlaying real-time running/stopped badges on top of the curated list.
Space (/command/space)
File: src/pages/command/space.astro
An immersive cosmic visualization page. Unlike other Command Center pages, Space uses a custom HTML layout — it renders a full <html> document directly instead of using BaseLayout. Fonts are loaded from Google Fonts: Orbitron (display), JetBrains Mono (data), and Inter (body). Font Awesome is loaded via CDN.
Cosmic Background
Multiple layered <div> elements create the space effect:
- Three nebula layers with CSS gradient backgrounds
- Four star layers at varying densities (far, mid, near, bright)
- Cosmic dust overlay
- Vignette edge darkening
- Four shooting star animations with staggered delays
Hero Stats
Four ring-style stat visualizations using SVG circles with stroke-dashoffset for fill percentage:
| Stat | Value | Ring Fill |
|---|---|---|
| Systems | 14 | 100% |
| Build Cores | 62 | 69% |
| Storage | 250+ TB | 85% |
| Containers | 48+ | 78% |
Component Integration
Three shared components render the main content sections:
BuildFleet(src/components/command/BuildFleet.astro) — build swarm fleet visualizationInfrastructureServices(src/components/command/InfrastructureServices.astro) — service gridNetworkTopology(src/components/command/NetworkTopology.astro) — galaxy map with Tailscale mesh
Galaxy Map
The galaxy map shows Milky Way (Milky Way) and Andromeda (Andromeda) as stylized spiral visualizations with animated galaxy arms, core glow effects, and host listings beneath each. A Tailscale bridge connects them with latency and node count labels.
Navigation
A minimal top bar provides: Arcturus-Prime branding with “SPACE COMMAND” subtitle, system status indicators (SYSTEMS ONLINE, MESH ACTIVE), and nav links back to /command and /.