Personal & Portal Views
Documentation for /command/personal (Obsidian vaults, git repos, backups) and /command/portal (full command portal replicating status.Arcturus-Prime.com)
Personal & Portal Views
Two Command Center pages round out the dashboard: a personal knowledge management view and a standalone portal that replicates the full status.Arcturus-Prime.com experience.
Personal (/command/personal)
File: src/pages/command/personal.astro
The personal dashboard tracks Obsidian vaults, git repositories, and backup status. Uses BaseLayout + CommandNav with a clean dark layout (no Starfield on this page).
Status Bar
A glass-card status bar at the top shows three indicators plus a manual refresh button:
| Indicator | Default | Description |
|---|---|---|
| Vaults | 3 | Number of Obsidian vaults detected |
| Repositories | 0 (populated by API) | Git repos on the Gitea instance |
| API Status | Connecting… | Live API connectivity state |
Obsidian Vaults
Three vault cards, each with an icon, color accent, description, and live stats (note count and size in MB):
| Vault | Description | Accent Color |
|---|---|---|
argo-os-obsidian-docs | Argo OS and Gentoo technical documentation | cyan |
Arcturus-Prime-technical-vault | Multi-project technical journeys for blog | purple |
obsidian-main-vault | Personal knowledge management | amber |
These correspond to the three Obsidian vaults on Capella-Outpost (10.42.0.100):
~/Documents/argo-os-obsidian-docs/
~/Documents/Arcturus-Prime-technical-vault/
~/Documents/obsidian-main-vault/
Each vault card shows a status badge (“Active”), and two stat boxes: note count and total size. Stats are fetched from the personal services API and default to -- until data arrives.
The vault icons use inline SVGs rather than emoji: server icon (cyan), code icon (purple), and book icon (amber).
Git Repositories
A dedicated section fetches the repository list from the Gitea API at git.Arcturus-Prime.com. Each repository card shows:
- Repository name and description
- Clone URLs (SSH and HTTPS)
- Last commit date
- Language breakdown
The primary repository is KeyArgo/Arcturus-Prime, hosted on the self-hosted Gitea instance running as a K3s pod on Altair-Link (10.42.0.199). GitHub (github.com/KeyArgo/Arcturus-Prime) is an auto-synced read-only mirror.
Backup Monitoring
The backup section tracks backup job status across the infrastructure. Backup mechanisms include:
- rclone on Capella-Outpost — cloud sync for critical data
- Synology Hyper Backup on Cassiel-Silo (192.168.20.7) — NAS-to-NAS backup
- Proxmox Backup — VM/container snapshots on Izar-Host (10.42.0.2) and Tarn-Host (192.168.20.100)
- Git push mirrors — Gitea to GitHub auto-sync
The API returns backup set counts and last-run timestamps when available.
Data Source
All data for the personal page flows through /api/proxy/services/personal, which queries the homelab-services-api on Altair-Link (10.42.0.199:8093). The refresh button triggers an immediate re-fetch outside the normal polling cycle.
Portal (/command/portal)
File: src/pages/command/portal.astro
The portal is a comprehensive command dashboard that replicates the full status.Arcturus-Prime.com experience inside the Arcturus-Prime site. It is the most visually distinct page in the Command Center.
Custom Layout
Unlike every other Command Center page, the portal does not use BaseLayout. It renders a complete <html> document directly in the Astro template. This gives it full control over fonts, styles, and layout without inheriting the site’s global styles.
Fonts loaded from Google Fonts:
| Font | Weight(s) | Usage |
|---|---|---|
| Orbitron | 400, 600, 800 | Headings, stat labels, branding |
| JetBrains Mono | 400, 600, 700 | Data values, timestamps, code |
| Inter | 300, 400, 500, 600 | Body text, descriptions |
Cosmic Background
The background uses layered <div> elements for the space effect:
nebula-layer— radial gradient nebula colorsstars-layer— CSS-generated star particlesvignette— darkened edges
This is a simpler version of the Space page’s background (no shooting stars or multi-layer nebulae).
Header
The portal header has three sections:
- Brand — Diamond icon (
◈), “Arcturus-Prime COMMAND PORTAL” title, “Real-Time Infrastructure Monitor” subtitle - Status — Connection pill with colored dot and text (CONNECTING…/ONLINE/OFFLINE), plus a “last update” timestamp
- Navigation — Three buttons: “Galaxy View” (links to
/command/space), “Command Center” (links to/command), “Home” (links to/)
Summary Stats Bar
Five key metrics displayed in a horizontal bar below the header:
| Stat | ID | Description |
|---|---|---|
| Gateway | summaryGateway | Gateway status (online/offline) |
| Orchestrators | summaryOrchestrators | Online count out of 2 (e.g., “1/2”) |
| Drones Active | summaryDrones | Active drones out of total (e.g., “3/5”) |
| Total Cores | summaryTotalCores | Sum of cores across online drones |
| Builds Completed | summaryBuildsCompleted | Total completed build count |
The “Total Cores” stat has a highlight class for visual emphasis.
Main Content Grid
The portal content is arranged in a two-column grid:
Left Column — Build Swarm:
- Orchestrators section with cards for each orchestrator (primary on Izar-Host at 10.42.0.2, standby on Tarn-Host at 192.168.20.100). Shows online/offline status and which site each belongs to.
- Drones section with cards for each build drone showing core count, current package, build progress, and status.
- Build Queue section showing pending, building, and recently completed packages.
Right Column — Infrastructure:
- System Health cards for key infrastructure nodes
- Storage overview across all NAS units
- Network status with Tailscale mesh connectivity
Polling and Data
The portal polls the gateway API aggressively for real-time data:
/api/gateway/nodes?all=true -- drone status, core counts
/api/gateway/status -- gateway health, queue depth
/api/proxy/services/public/build-swarm -- aggregated swarm data
The connection status pill transitions through states as data arrives:
- CONNECTING… (initial state, amber dot)
- ONLINE (green dot, data flowing)
- OFFLINE (red dot, all APIs unreachable)
The lastUpdate timestamp shows when data was last successfully fetched, giving a clear indication of data freshness.
Relationship to status.Arcturus-Prime.com
The portal page on Arcturus-Prime.com and the standalone Command Center at status.Arcturus-Prime.com serve the same purpose but are different codebases:
| Aspect | status.Arcturus-Prime.com | /command/portal |
|---|---|---|
| Framework | Flask (Python) | Astro (this site) |
| Hosting | Docker on Altair-Link (10.42.0.199:8093) | Cloudflare Pages |
| Access | Public via Cloudflare Tunnel | Behind Cloudflare Access (admin only) |
| Data | Direct API queries to gateway/orchestrator | Proxied through Cloudflare Workers |
| Styling | Vanilla CSS | Inline styles in Astro template |
The portal page is the “embedded” version — same data, same layout concept, but running within the Arcturus-Prime site and using the Astro proxy layer for API access.