Files
pi-kit/README.md
2025-12-10 18:51:31 -05:00

1.3 KiB

Pi-Kit Dashboard

Lightweight dashboard for DietPi-based Pi-Kit images. Two pieces live in this repo:

  • pikit-api.py: tiny Python HTTP API (status, services, auto updates, factory reset). Runs on localhost:4000 and writes to /etc/pikit/services.json.
  • pikit-web/: static Vite site served by nginx from /var/www/pikit-web. Sources live in pikit-web/assets/; Playwright E2E tests in pikit-web/tests/.

Local development

  • Dashboard: cd pikit-web && npm install (first run), then npm run dev for Vite, npm test for Playwright, npm run build for production bundle.
  • API: python pikit-api.py to run locally (listens on 127.0.0.1:4000).

Deploying to a Pi-Kit box

  1. Copy pikit-api.py to the device (e.g., /usr/local/bin/) and restart the service unit that wraps it.
  2. Sync pikit-web/index.html and pikit-web/assets/* (or the built pikit-web/dist/*) to /var/www/pikit-web/.
  3. The API surfaces clear errors if firewall tooling (ufw) is missing when ports are opened/closed.
  4. Factory reset sets root and dietpi passwords to pikit.

Notes

  • Service paths are normalized (leading slash) and URLs include optional subpaths.
  • Firewall changes raise explicit errors when ufw is unavailable so the UI can surface what failed.
  • Access the device UI at http://pikit.local/ (mDNS).