LOCAL SERVICE INSTALL

SECWPN // LYDIA INSTALL

Install the device bridge from this repo

The installer template lives at services/lydia-device/scripts/install.template.sh. The public /install.sh endpoint serves a generated self-contained script that carries the current device payload, extracts it onto the Pi, and configures systemd plus Tailscale Serve without cloning from GitHub.

One-line install

curl -fsSL https://lydia.secwpn.com/install.sh | sudo bash

The installer prints the final wss://... endpoint when setup finishes.

Prerequisites

Raspberry Pi OS Bookworm or Bullseye.

tailscale up already completed, with MagicDNS enabled.

USB serial connected to the controller and root access available for the install.

Installer flags

--serial /dev/ttyUSB0, --hz 2, --telemetry-mode broadcast|subscribe_required, and --readonly are supported directly.

Add -y to skip the confirmation prompt or --installer-url if you need the updater to point at a different hosted installer.

The installer bundles the runtime payload directly into the script, so it does not clone from GitHub or prompt for repository authentication.

Older commands that include --ref, --sha, or --repo still run, but those flags are ignored by the embedded installer.

Runtime layout

The installer extracts a bundled service payload into /opt/lydia-device.

The Python service runs from /opt/lydia-device/services/lydia-device.

systemd manages the lydia-device service and restarts on failure.

Tailscale Serve exposes the runtime over secure WebSockets on the tailnet, and the daily update timer re-downloads the configured installer URL.

Logs and support

journalctl -u lydia-device shows service logs.

Audit events are written to /var/lib/lydia-device/audit.jsonl.

For the browser UI, open LYDIA. MENIAH depends on the LYDIA runtime and uses the same install flow.

The device service protocol is documented in services/lydia-device/INTERFACE.md.

Suggested install commands

curl -fsSL https://lydia.secwpn.com/install.sh | sudo bash -s -- --serial /dev/ttyUSB0 --hz 2
curl -fsSL https://lydia.secwpn.com/install.sh | sudo bash -s -- --telemetry-mode subscribe_required --readonly