72bf754baa
- Move models.yaml into image/ so the docker build context is self-contained - Fix manifest: dockerfile=../image/Dockerfile, workdir=../image - Add LICENSE (MIT) and assets/README.md (StartOS marketplace listing) - s9pk validates: id=spark-control, version=0.1.0:0, osVersion=0.4.0-beta.6, sdkVersion=1.3.3 - Image embeds python:3.12-slim + openssh-client + FastAPI app + models.yaml
36 lines
1.8 KiB
Markdown
36 lines
1.8 KiB
Markdown
# Spark Control
|
||
|
||
A browser-based control panel for a dual-DGX-Spark vLLM cluster on your LAN. See which LLM is loaded, swap to another with one click, and watch the streaming log until the new model is ready.
|
||
|
||
## What you get on StartOS
|
||
|
||
After install you have:
|
||
|
||
- **A web UI** at the package's LAN address (HTTPS, .local).
|
||
- **One-click model swaps** for any model in your `models.yaml` catalog.
|
||
- **Live status** of vLLM, Parakeet (STT), and Magpie (TTS).
|
||
|
||
## Getting set up
|
||
|
||
This package SSHes into your Spark server to run cluster commands, so it needs a one-time setup:
|
||
|
||
1. **Open Actions → Show Public Key.** Copy the ed25519 public key that the package generated.
|
||
2. **SSH into each Spark** and append the key to `~/.ssh/authorized_keys`:
|
||
```bash
|
||
echo "<paste-pubkey-here>" >> ~/.ssh/authorized_keys
|
||
```
|
||
3. **Open Actions → Configure Sparks.** Enter the LAN hostnames or IPs for Spark 1 and Spark 2, plus the SSH username (usually `<spark-user>`).
|
||
4. **Open the Web UI.** It will hit each Spark to confirm. If both indicators are green you're done.
|
||
|
||
## Using Spark Control
|
||
|
||
Once configured, open the web interface from your phone or laptop. The current model is shown in the top bar. Each available model has a card with a "Switch to this" button. Clicking it stops the current model and launches the new one — the log tails in real time until `Application startup complete.` appears (3–6 min depending on the model).
|
||
|
||
## Editing the model catalog
|
||
|
||
The bundled catalog covers the models in the starter `models.yaml`. To add a model, ssh into the StartOS server and edit `/embassy-data/package-data/volumes/spark-control/main/models.yaml`, then restart the service. (A proper "Edit Model Catalog" action is on the roadmap.)
|
||
|
||
## Source code
|
||
|
||
<https://github.com/Start9Labs/...> (TBD)
|