System

The System page is the operator's housekeeping module: profiles, snapshots, and diagnostics (the page header). It is where you pick a colour theme, save and swap whole rig configurations, save and swap just the device assignments, and grab the one-click bundle you send when something goes wrong. It is intentionally small — four cards, no live telemetry, no version/uptime/resource/thread readouts.

It is not the self-healing engine. The watchdog that watches memory, disk, threads and hung devices and can escalate to a safe-state is the Health monitor, a separate background daemon — see that topic. The cards here are Appearance (theme), Equipment profiles (devices only), Configuration snapshots (whole config), and Diagnostics (the debug bundle download).

Appearance

Pick the colour theme for the web UI. Themes are saved per browser (in local storage) and applied instantly — no restart, so a change here never touches your config file and never affects another machine viewing the same rig.

Equipment profiles

Saves only the equipment — the ASCOM + Alpaca driver assignments — plus the focuser's mechanical characterisation (measured/approved backlash and the characterisation report). Nothing else travels with a profile: it deliberately leaves out the focuser's operational and safety prefs (direction reversal, travel limits, jog step), so applying a profile can never silently revert those. Use one to swap cameras / mounts / focusers etc. without changing any of your other settings. The active profile (tracked in a .active_equipment_profile marker) shows as · active in the list.

Configuration snapshots

A snapshot is the whole configuration — devices and every setting. Save the current setup, or load one to switch entire rigs. To swap only the devices, use Equipment profiles instead — loading a snapshot replaces all of your settings.

Diagnostics

A one-click ZIP bundle for remote debugging. Download diagnostics links straight to GET /api/diagnostics, which streams starship-diag-<timestamp>.zip. The bundle is built best-effort in memory (starship/core/diag.py): a failing section becomes an .error.txt note rather than failing the whole download. It contains the recent log (ring buffer, see below), the active config.toml, recent console job history (last 200), the audit-log tail (last 300 events), the ASCOM/Alpaca slot assignments, the health monitor's memory snapshot, and Python/platform info.

When you hit a problem, download this immediately after the failure and attach the zip — it is the fastest way to get a fix.

The recent-log ring buffer

Starship logs to the console only, so without a capture the bundle's recent log would be empty. A small in-memory ring buffer ([diag]) keeps the most recent lines so they ride along in the bundle. ring_buffer_size (default 2000) sets how many formatted log lines to retain — lower it on a RAM-tight host (e.g. a LattePanda); max_log_line_length (default 0 = no limit) truncates any single line.

Restart and shutdown — note where they live

The System page itself has no restart or shutdown button — the only thing on it that restarts Starship is applying an equipment profile or loading a snapshot. The general controls live elsewhere:

Relationship to the Health monitor

Keep the two straight: this page is the operator UI for profiles, snapshots and the diagnostics download, while the Health monitor is the background self-healing daemon whose live state is served at GET /api/health/status, not here. They meet only in the diagnostics bundle, which includes the health monitor's memory snapshot. See the Settings, Equipment, Audit, and Health monitor topics.

Astroworx Starship v22.2.10 · this page is the in-app help of that buildDownload · HTTP API