github preston-peterson/aerodrome v3.0.15

latest releases: v3.4.136, v3.4.135, v3.4.134...
5 months ago

Announced the curl-install URL in the README and the in-app gear menu. Completes the bootstrap arc that ran from v3.0.12 (promotion out of draft) through v3.0.13 and v3.0.14 (two bugs surfaced and fixed by clean-VM dogfooding). v3.0.14 ran end-to-end cleanly on a fresh Ubuntu 24.04 VM — every step from "Checking platform" through "Tracker is running!" completed without intervention, the colorized URL rendered correctly, the auto-detected timezone went into config.yaml silently, and the web UI was reachable at the printed URL. With the install flow verified working, the URL install.aerodromeadsb.com is now promoted from "live but unannounced" to "the canonical install method."

Two announce surfaces in v3.0.15:

The README Install section now leads with the one-liner. The section opens with "One command:" followed by bash <(curl -fsSL https://install.aerodromeadsb.com) and a paragraph explaining what the bootstrap does (platform detection, prereq install, GitHub Releases download, SHA256 verification, prompt for receiver-side config, install.sh handoff). The manual install path moved into a collapsed <details> block titled "Manual install (alternative)" — it stays available for users who want to inspect the bootstrap before running it, install offline, or pin to a specific release version, but it's no longer the first thing a prospective user reads. The collapsed block also documents the bootstrap's --from-zip flag for offline installs and references --help for the full flag list. The Project Structure listing's scripts/bootstrap.sh entry dropped its now-stale "(draft)" qualifier and re-described as "curl-installable one-line setup (see Install)" so the cross-reference points users at the install section where the one-liner actually lives.

The in-app gear menu now has an install-share surface. Below the existing Theme picker (and above nothing — it's the new bottom of the menu) lives a small block with the label "Install Aerodrome elsewhere", the install command in a monospace code element, a "Copy" button next to it, and a link to the GitHub repo. The use case is the one the maintainer flagged: "where someone showing Aerodrome to a friend can point them at it." Click the gear, see the install URL, click Copy, paste in a message to your friend, done. The copy handler tries the modern navigator.clipboard.writeText API first and falls back to the older textarea + execCommand('copy') pattern for non-secure contexts (Aerodrome is typically accessed over plain HTTP on a LAN, so the modern clipboard API isn't always available — the fallback gets exercised more often than not in practice). Visual feedback: the button text flips to "Copied!" for 1.4 seconds. The block uses the same uppercase-label + contained-widget visual language as the Theme picker above it, so the menu's bottom section reads as a coherent "tools + info" group rather than two unrelated pieces. CSS landed in static/theme.css next to the existing theme-row rules so future maintainers find both gear-menu-bottom blocks colocated.

Why the gear menu rather than a dedicated About page. Considered three options: (1) add an "About" gear menu item that opens a new /about page with version + install URL + repo link + license + third-party credits, (2) add a modal triggered from a gear menu item, (3) embed directly in the gear menu. Option 1 is the most distinctive and would also be a natural home for license info and third-party credits (Leaflet, OSM, CARTO — currently only in the README), but it requires a new route in server.py, a new templates/about.html, and a sixth gear-menu link competing with the existing five action items. Option 2 needs modal infrastructure that isn't quite there in index.html (the alertModal reference at line 5504 is a forward-reference to status.html's modal, not a usable one here). Option 3 — embedding directly in the gear menu — is the lowest-overhead path and fits the "showing it to a friend" use case perfectly (the friend is presumably already looking at the dashboard, so they can see the URL the moment the gear opens; no extra clicks). The future About page is queued — see queue item #29.

Net change: ~60 lines across three files. README install section rewrite (~45 lines); gear-menu HTML block in templates/index.html (~13 lines); copy-handler JS in same file (~40 lines including the navigator.clipboard + fallback pattern); CSS in static/theme.css (~35 lines for the four .install-share-* rules). No new routes, no schema changes, no behavior change to the running service or the channel — pure announce surface on top of the v3.0.14 verified-working bootstrap. The arc that started with install.aerodromeadsb.com going live as a DNS-only surface earlier today closes here: live + verified end-to-end + announced in both the public README and the in-app surface.

What's NOT in v3.0.15 (filed forward): a dedicated About page (queue item #29 — could grow into the natural home for license info, third-party credits, links to GitHub/docs/changelog, and the install command); the first-time setup wizard (queue item #28 — would pair naturally with the install-share surface by giving fresh users a guided first-run flow); and the broader Tier-2 polish queue. The bootstrap is done; the rest is the next day's work.

Don't miss a new aerodrome release

NewReleases is sending notifications on new releases.