The Starfleet Network: Architecture & Operations Guide
A complete operational codex documenting the 3-station Starfleet Astrometrics & Cartography Network built by Roger and Kepler. Covers mathematical dynamics, stellar catalog cross-indexing, MariaDB relational schemas, automated cron scheduling, offsite Restic backups, and LCARS console audio synthesis.
Mission Architecture & Philosophy
The Starfleet Astrometrics & Cartography Network was engineered as an authentic, high-density scientific tribute to pre-2010 *Star Trek* (TNG, DS9, and *Voyager* Astrometrics) fused with real 21st-century astrophysics.
Unlike generic fan wikis with bloated JavaScript frameworks, this network is built on a zero-dependency, high-speed stack: native PHP 8, MariaDB 10, Nginx 1.30, vanilla HTML5 Canvas, and the native Web Audio API. Pages load in sub-100 milliseconds with full HTTP/3 (QUIC) support and strict security headers.
Astrometrics Lab
Sol-centered vector radar, Gaia/Hipparcos stellar data, Vulcan, Andoria, Wolf 359 dossiers.
astrometricslab.org ↗Federation Space
TNG warp speed engine, Cochrane spatial displacement, relativistic dilation & 8 sector maps.
federationspace.org ↗Starfleet Yards
Utopia Planitia blueprints, warp reactor outputs, deck arrangements & commissioned vessels.
starfleetyards.org ↗Deep Dive: Subsystem Capabilities
Station 01: Astrometrics Lab (Deck 8)
Inspired by the Astrometrics Lab aboard the *USS Voyager* (commanded by Seven of Nine and Harry Kim). Features an interactive 2D vector radar rendered on an HTML5 canvas:
- Origin Point: Sol (Earth) positioned at coordinate (0, 0, 0).
- Tactical Radar: Range ring selectors (10 LY, 25 LY, 50 LY) with smooth vector rendering, hover detection, and target lock.
- Inter-Station Handoff: Clicking
[ Plot Warp Transit ]on any star automatically URL-encodes target coordinates and light-year distance into the Federation Space flight computer.
Station 02: Federation Space (Cartography & Warp Dynamics)
A real-time navigational computer executing Rick Sternbach and Michael Okuda’s canonical warp equations:
- Interactive Warp Slider: From Warp 1.0 up to Warp 9.975 (Intrepid class emergency sprint).
- Lorentz Dilation Monitor: Compares warp transit against 0.25c sublight impulse Lorentz time dilation:
γ = 1 / √(1 - v²/c²) = 1 / √(1 - 0.25²) ≈ 1.0328(Earth clocks advance 3.28% faster). - Sector Dossiers: Tactical dossiers for Sector 001, Bajor, Romulan Neutral Zone, Klingon Border Zone, and The Badlands.
Station 03: Starfleet Yards (Orbital Construction Command)
The engineering archives of Utopia Planitia (Mars) and San Francisco Fleet Yards:
- 8 Spaceframe Blueprints: Galaxy, Intrepid, Defiant, Sovereign, Excelsior, Akira, Prometheus, Nova.
- Technical Dossiers: Vector hull profile, M/ARA reactor output in Terawatts, crew complement, deck count, phaser arrays, and torpedo complements.
- Commission Registry: Historical logs of famous commissioned starships (Enterprise-D/E, Voyager, Defiant, Excelsior, Equinox, Prometheus).
Real Stellar Catalogs & Canon Cross-Indexing
Every star in the Astrometrics Lab is grounded in verifiable astrophysical catalog metrics (Gaia DR3, Hipparcos, SIMBAD) coupled with canonical Federation lore:
| Real Star | Canon World / System | Bayer / Hipparcos | Distance | Spectral Class | Temp (K) |
|---|---|---|---|---|---|
| 40 Eridani A | Vulcan (Ni'Var / T'Khasi) | HIP 19849 / HD 26965 | 16.34 LY | K0.5 V Orange Dwarf | 5,070 K |
| Procyon A | Andoria (Andor) | HIP 37279 / Alpha CMi | 11.46 LY | F5 IV-V Subgiant | 6,530 K |
| 61 Cygni A | Tellar Prime | HIP 104214 / HD 201091 | 11.40 LY | K5 V Orange Dwarf | 4,530 K |
| Wolf 359 | Wolf 359 Battleground | HIP 53461 / CN Leonis | 7.86 LY | M6.0 V Red Dwarf | 2,800 K |
| Alpha Centauri A/B | Alpha Centauri (Cochrane) | HIP 71683 / Rigil Kentaurus | 4.37 LY | G2 V + K1 V Binary | 5,790 K |
| Rigel A | Rigel (Orion Trade Hub) | HIP 24436 / Beta Ori | 863.0 LY | B8 Ia Blue Supergiant | 12,100 K |
TNG Asymptotic Warp Scale Dynamics
In Gene Roddenberry and Rick Sternbach's *Star Trek: The Next Generation Technical Manual*, warp propulsion was re-calibrated from TOS cubic ($v = w^3 c$) to an **asymptotic cubic scale**:
1. Sub-Warp 9 Velocity Equation
For warp factors $1.0 \le w \le 9.0$, velocity relative to the speed of light ($c$) follows the geometric exponent:
v = w^(10/3) · c = w^(3.333333) · c
| Warp Factor | Velocity ($c$) | Light-Years / Day | Sol to Vulcan (16.34 LY) |
|---|---|---|---|
| Warp 1.0 | 1.00 c | 0.0027 LY/d | 16.34 Years |
| Warp 5.0 | 213.75 c | 0.5852 LY/d | 27.9 Days |
| Warp 8.0 | 1,024.00 c | 2.8036 LY/d | 5.8 Days |
| Warp 9.0 | 1,516.38 c | 4.1516 LY/d | 3.9 Days |
2. Asymptotic Escalation Above Warp 9
Between Warp 9.0 and Warp 10.0 (infinite velocity), power requirements escalate asymptotically toward infinity. Our flight engine executes piecewise linear interpolation between empirical technical manual checkpoints:
Warp 9.200: 1,649 c
Warp 9.600: 1,909 c
Warp 9.900: 3,053 c
Warp 9.975: 5,754 c (USS Voyager Intrepid Maximum Emergency Sprint)
Warp 9.990: 7,912 c (Prometheus Tactical Dash)
Warp 9.999: 199,516 c (Subspace Transwarp Threshold)
Warp 10.0: ∞ (Occupying all points in the universe simultaneously)
The Real-World Canonical Stardate Engine
All three stations share an automated, real-time Stardate chronometer located in the top telemetry status bar:
$dayOfYear = (int)gmdate('z');
$daysInYear = (int)gmdate('L') ? 366 : 365;
$secOfDay = (int)gmdate('G') * 3600 + (int)gmdate('i') * 60 + (int)gmdate('s');
$fraction = ($dayOfYear + $secOfDay / 86400) / $daysInYear;
// Canonical Okuda Formula: Year 2026 + 377 = 2403 in-universe
$stardate = number_format(((int)gmdate('Y') + 377 - 2323) * 1000 + $fraction * 1000, 1, '.', '');
Why +377 Years? When *Star Trek: The Next Generation* premiered in September 1987, it was set in 2364 (Stardate 41000 series). This established the canonical offset:
2364 - 1987 = +377 Years.
For our real-world year 2026: 2026 + 377 = 2403 (the early 25th-century post-Dominion / *Picard* era).
Subtracting base year 2323 yields 80000 plus the annual day fraction (e.g. `80678.6`).
LCARS Voyager Audio Synthesizer Engine
Every station includes an integrated Web Audio API synthesizer. It produces zero network requests and downloads no WAV/MP3 files. All sound effects are generated via real-time oscillator waveforms and gain ramps:
| Sound Effect | Waveform | Frequencies | Duration & Gain Envelope | Trigger Event |
|---|---|---|---|---|
| Affirmative Chirp | Dual Sine | 988 Hz (B5) → 1318 Hz (E6) | 120ms total, exp decay | Button & nav link clicks |
| Astrometric Scan | Triangle | 650 Hz → 880 Hz → 720 Hz | 90ms frequency sweep | Star selection on radar canvas |
| Warp Resonance | Sub-bass Sine | 480 Hz → 140 Hz | 220ms downward sweep | Warp slider drag & flight plan calc |
Muted by default to respect browser autoplay policies. Toggling [ AUDIO: OFF ] to [ AUDIO: ONLINE ] stores state in localStorage('starfleet_audio_sfx') across visits.
MariaDB Architecture & Schemas
The network uses three dedicated MariaDB databases on 127.0.0.1:3306 with isolated database users:
1. astrometricslab (user: astrometrics_web)
└── systems: id, slug, name, canon_name, distance_ly, spectral_class,
temp_k, radius_solar, luminosity_solar, mass_solar,
pos_x, pos_y, pos_z, trek_sector, status_affiliation,
canon_planets_summary, astrophysical_analysis, created_at
2. federationspace (user: federation_web)
├── sectors: id, slug, sector_name, quadrant, primary_systems,
│ tactical_grid_status, strategic_significance, major_hazards,
│ affiliations, created_at
└── warp_dynamics: id, warp_factor, velocity_c, light_years_per_day,
cochrane_field, tactical_envelope, notes
3. starfleetyards (user: yards_web)
├── ship_classes: id, slug, class_name, operational_role, commission_year,
│ dimensions_m, deck_count, crew_complement,
│ warp_cruise, warp_emergency_sprint, warp_core_output_tw,
│ armaments_summary, svg_profile, service_history
└── starships: id, registry, name, class_slug, status, construction_site,
notable_commanders, service_record
System Automation & Cron Architecture
All periodic maintenance tasks are scheduled in /etc/cron.d/ synchronized to CRON_TZ=Europe/Lisbon:
| Cron File | Schedule | Script / Command | Purpose |
|---|---|---|---|
/etc/cron.d/mariadb-backup |
03:30 Daily | /root/scripts/db-dump.sh |
Single-transaction gzip export of all databases to /root/backups/mariadb/. |
/etc/cron.d/restic-backup |
04:05 Daily | /root/scripts/backup.sh backup |
Restic offsite push to backups.rogerle.com (sweeping /root, /etc, /home). |
/etc/cron.d/starfleet-network |
04:35 Daily | /root/generate_starfleet_sitemaps.php |
Regenerates XML sitemaps and robots.txt for all 3 Starfleet domains. |
/etc/cron.d/site-health |
Hourly & 06:15 | /root/scripts/site-health-check.sh |
HTTP 200 health probe across all 19 vhosts with hourly cache and daily alert mail. |
/etc/cron.d/astronomy-academy-feeds |
04:30 & 19:30 | generate_sitemaps.php && generate_rss.php |
Sitemaps and RSS 2.0 XML feeds for the 5 Astronomy Academy stations. |
Two-Stage Offsite Backup Architecture
The server participates in Roger's fleet-wide Restic backup architecture:
- Stage 1 (03:30 Local) — MariaDB Snapshot:
db-dump.shexports all databases using--single-transaction --routines --triggersinto/root/backups/mariadb/all_databases_YYYYMMDD.sql.gz. Local retention maintains a rolling 7-day archive. - Stage 2 (04:05 Local) — Restic Offsite SFTP Push:
backup.shpushes/etc,/root(including the fresh MariaDB dumps),/home(all website source code and configs), and/var/spool/cronto the dedicated offsite repository atsftp:backups@backups.rogerle.com:/home/backups/restic-rl. - Stage 3 (Weekly Sunday 06:15) — Snapshot Retention Pruning:
Restic prunes historical snapshots according to the fleet retention policy:--keep-daily 14 --keep-weekly 8 --keep-monthly 12.
CLI Runbook & Maintenance Commands
Run Fleet Site Health Sweep
/root/scripts/site-health-check.sh --report
Manually Regenerate Starfleet Sitemaps
/usr/bin/php /root/generate_starfleet_sitemaps.php
Trigger Manual MariaDB Backup
/root/scripts/db-dump.sh
Test Restic Backup Connectivity
/root/scripts/backup.sh restore-test
Verify Nginx & Reload Configuration
nginx -t && systemctl reload nginx