You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Build and distribute the app + gateway daemon as a Debian package (.deb) so the Raspberry Pi (and other Debian/Ubuntu hosts) can install/upgrade it cleanly instead of the current rsync + manual rebuild + service-setup flow.
Motivation
The Pi is currently deployed by rsync from the laptop, then a manual rebuild and a hand-rolled systemd setup via gateway/install.sh (see README). A .deb gives versioned install/upgrade/remove, dependency declaration, and proper service registration through the standard package manager — and pairs naturally with the in-app updater (#13).
What the package should do
Install the built GUI (dist/) and the gateway daemon.
Install/enable the plotter-gatewaysystemd service (replacing the manual setup in gateway/install.sh).
Declare runtime dependencies (Node, serial access / dialout group, udev rule for a stable device path).
Apply the always-on power profile and mDNS bits currently handled by the installer, where appropriate.
Carry a real version so install/upgrade/remove behave correctly.
Acceptance criteria
A repeatable build produces a versioned .deb.
Installing the .deb on the Pi sets up the GUI, daemon, and systemd service.
Dependencies (Node, serial access, udev rule) are declared/handled by the package.
Upgrading via the package preserves persisted state (plotter state, settings).
Removing the package cleans up the service.
Notes
Fold in the logic from gateway/install.sh (service unit, dialout membership, udev rule, power profile, mDNS).
The native serialport binding must build/ship correctly for the Pi architecture (arm).
Summary
Build and distribute the app + gateway daemon as a Debian package (.deb) so the Raspberry Pi (and other Debian/Ubuntu hosts) can install/upgrade it cleanly instead of the current rsync + manual rebuild + service-setup flow.
Motivation
The Pi is currently deployed by rsync from the laptop, then a manual rebuild and a hand-rolled systemd setup via
gateway/install.sh(see README). A .deb gives versioned install/upgrade/remove, dependency declaration, and proper service registration through the standard package manager — and pairs naturally with the in-app updater (#13).What the package should do
dist/) and the gateway daemon.plotter-gatewaysystemd service (replacing the manual setup ingateway/install.sh).dialoutgroup, udev rule for a stable device path).Acceptance criteria
.deb..debon the Pi sets up the GUI, daemon, and systemd service.Notes
gateway/install.sh(service unit, dialout membership, udev rule, power profile, mDNS).serialportbinding must build/ship correctly for the Pi architecture (arm).