#!/usr/bin/env bash # Install systemd service so LED controller starts at boot. # Run once: sudo scripts/install-boot-service.sh set -e cd "$(dirname "$0")/.." REPO="$(pwd)" SERVICE_NAME="led-controller.service" UNIT_PATH="/etc/systemd/system/$SERVICE_NAME" if [ ! -f "scripts/led-controller.service" ]; then echo "Run this script from the repo root." exit 1 fi export PIPENV_VENV_IN_PROJECT="${PIPENV_VENV_IN_PROJECT:-1}" if command -v pipenv >/dev/null 2>&1; then PY="$(command -v python3)" if [ -z "$PY" ]; then echo "python3 not found; install python3." >&2 exit 1 fi echo "Ensuring Pipenv deps with $PY (venv in project: .venv when PIPENV_VENV_IN_PROJECT=1)…" # --skip-lock: install from Pipfile only (avoids lock/Python hash mismatches on device). pipenv install --quiet --skip-lock --python "$PY" pipenv --venv > scripts/.led-controller-venv fi chmod +x scripts/start.sh sudo cp "scripts/led-controller.service" "$UNIT_PATH" sudo systemctl daemon-reload sudo systemctl enable "$SERVICE_NAME" echo "Installed and enabled $SERVICE_NAME" echo "Start now: sudo systemctl start $SERVICE_NAME" echo "Status: sudo systemctl status $SERVICE_NAME" echo "Logs: journalctl -u $SERVICE_NAME -f"