Remove obsolete audio and buzzer control documentation files, including detailed guides and HTML interfaces, to streamline the repository and eliminate redundancy. This cleanup enhances maintainability and focuses on essential resources for the reTerminal DM4 audio and buzzer functionalities.
This commit is contained in:
53
emmc-provisioning/dashboard/README.md
Normal file
53
emmc-provisioning/dashboard/README.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# CM4 Provisioning Dashboard
|
||||
|
||||
Flask web UI for CM4 eMMC provisioning: **public home** (deploy only) and **admin** (login required) for images, cloud-init, portal files, and users.
|
||||
|
||||
## Public home (`/`)
|
||||
|
||||
- **No login.** Anyone can:
|
||||
- See current status (idle / connecting / flashing / backup / done / error).
|
||||
- **Deploy** or **Backup** when a device is connected (USB boot or network).
|
||||
- See which image is set as **golden** (used for Deploy).
|
||||
- View recent log and “How to connect” steps.
|
||||
|
||||
Layout: compact two columns (status + deploy on the left; golden info, log, and connect on the right).
|
||||
|
||||
## Admin (`/admin`)
|
||||
|
||||
**Login required.** First user: open `/login`, enter any username and a password (min 6 characters) to create the first admin account.
|
||||
|
||||
Admin can:
|
||||
|
||||
- **Backup images** (in `backups/`): upload, rename, delete, shrink/compress, **set as golden**, download.
|
||||
- **Cloud-init images** (in `cloudinit-images/`): list, set as golden, rename, delete, download.
|
||||
- **Build cloud-init image**: download latest Raspberry Pi OS (arm64), inject cloud-init, edit user-data/meta-data/network-config, use templates. Output goes to cloud-init images; optionally set as golden after build.
|
||||
- **Portal files** (in `portal-files/`): upload files that are served at `/files/<name>` so cloud-init can `wget` or `curl` them on first boot (e.g. `curl -fsSL "http://SERVER/files/bootstrap.sh" -o /tmp/bootstrap.sh`).
|
||||
- **Golden image**: any backup or cloud-init image can be set as golden (no single “golden file”; choose from either list).
|
||||
- **Admin users**: add users, change password.
|
||||
- **Activity logs**: view recent admin actions.
|
||||
|
||||
Backup images and cloud-init images live in **separate folders** (`backups/` and `cloudinit-images/`).
|
||||
|
||||
## Run locally (development)
|
||||
|
||||
```bash
|
||||
cd dashboard
|
||||
pip install -r requirements.txt # Flask, werkzeug
|
||||
python3 app.py
|
||||
# Open http://localhost:5000 (home), http://localhost:5000/admin (login first)
|
||||
```
|
||||
|
||||
## Run in LXC (Proxmox)
|
||||
|
||||
Deploy with `scripts/deploy-to-proxmox.sh`; it installs the dashboard and pushes `home.html`, `login.html`, `admin.html`. Optional: create `/opt/cm4-provisioning/dashboard.env` with `CM4_DASHBOARD_SECRET_KEY=<random>` so session logins persist across restarts (deploy script can create this automatically).
|
||||
|
||||
## Environment (optional)
|
||||
|
||||
- `CM4_PROVISIONING_DIR` – base path (default: `/var/lib/cm4-provisioning`).
|
||||
- `CM4_BACKUPS_DIR` – backups directory (default: `…/backups`).
|
||||
- `CM4_CLOUDINIT_IMAGES_DIR` – cloud-init built images (default: `…/cloudinit-images`).
|
||||
- `CM4_PORTAL_FILES_DIR` – files served at `/files/` (default: `…/portal-files`).
|
||||
- `CM4_GOLDEN_IMAGE` – path to golden image (symlink to chosen backup or cloud-init image).
|
||||
- `CM4_DASHBOARD_SECRET_KEY` – secret for session cookies (set in production).
|
||||
- `CM4_DASHBOARD_DB` – SQLite path for admin users and logs (default: `…/dashboard.db`).
|
||||
- `CM4_STATUS_FILE`, `CM4_LOG_FILE`, etc. – as before for status and build.
|
||||
Reference in New Issue
Block a user