chore: prep 0.1.2 release, tidy repo
This commit is contained in:
27
README.md
27
README.md
@@ -1,21 +1,22 @@
|
||||
# Pi-Kit Dashboard
|
||||
Lightweight dashboard for DietPi-based Pi-Kit images.
|
||||
|
||||
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/`.
|
||||
## What’s here
|
||||
- `pikit_api/` + `pikit-api.py`: Python HTTP API (status, services CRUD, auto-updates, diagnostics, factory reset), served on 127.0.0.1:4000.
|
||||
- `pikit-web/`: Vite static site served by nginx at `/var/www/pikit-web/`; source in `pikit-web/assets/`, Playwright E2E in `pikit-web/tests/`.
|
||||
- Release tooling: `tools/release/make-release.sh` builds a bundle tarball + manifest for OTA; changelogs live in `out/releases/`.
|
||||
|
||||
## 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).
|
||||
- Frontend: `cd pikit-web && npm install` (once), `npm run dev` for live reload, `npm test` for Playwright, `npm run build` for production `dist/`.
|
||||
- API: `python pikit-api.py` runs the same routes locally (no auth) as on-device.
|
||||
|
||||
## 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`.
|
||||
## Deploy to a Pi-Kit box
|
||||
1) Copy `pikit-api.py` **and** the `pikit_api/` directory to the device (e.g., `/usr/local/bin/`) and restart `pikit-api.service`.
|
||||
2) Sync `pikit-web/dist/` (preferred) to `/var/www/pikit-web/`, then restart `dietpi-dashboard-frontend.service`.
|
||||
3) Using release bundles: `./tools/release/make-release.sh <version> <base_url>`, upload the tarball + manifest, and point `PIKIT_MANIFEST_URL` (systemd drop-in) to that manifest URL for OTA.
|
||||
|
||||
## 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).
|
||||
- Firewall changes surface clear errors when `ufw` is missing so the UI can report failures.
|
||||
- Factory reset sets `root` and `dietpi` passwords to `pikit`.
|
||||
- Default UI: `http://pikit.local/` (mDNS) unless HTTPS is enabled.
|
||||
|
||||
Reference in New Issue
Block a user