diff --git a/README.md b/README.md index 77eb8ec..a19b659 100644 --- a/README.md +++ b/README.md @@ -29,9 +29,9 @@ Two layers in this repo: ```bash cd image -python -m venv .venv && source .venv/bin/activate +python3 -m venv .venv && source .venv/bin/activate pip install -e . -export SPARK1_HOST=.local +export SPARK1_HOST= export SPARK1_USER= export SPARK2_HOST= export SPARK2_USER= @@ -41,14 +41,37 @@ uvicorn app.server:app --host 0.0.0.0 --port 9999 --reload Open . +> **Note:** use the **IP** `` for Spark 1, not `.local`. mDNS resolves to IPv6 first and `httpx` hangs on it because vLLM only binds IPv4. + +## Build the StartOS package + +```bash +cd package +npm i # one-time +make x86 # produces spark-control_x86_64.s9pk (~55 MB) +``` + +Requires [`start-cli`](https://docs.start9.com/latest/developer-guide/sdk/installing-the-sdk), Node ≥ 22, Docker. The build runs `tsc` + `ncc` for the TS bundle, then `docker build` on `image/Dockerfile`, then `start-cli s9pk pack` to produce the `.s9pk`. + +To sideload onto your Start9: `make install` (needs `host:` set in `~/.startos/config.yaml`), or upload the `.s9pk` via the Start9 web UI's sideload feature. + +## Post-install setup (one-time per Start9 install) + +1. Open the Spark Control service → **Actions** → **Show Public Key** → copy the line. +2. SSH to each Spark and append the line to `~/.ssh/authorized_keys` for the `` user. +3. **Actions** → **Configure Sparks** → enter `` / `` for Spark 1 and `` / `` for Spark 2. +4. Start the service. Open the Web UI — current model + health should show within ~5 s. + ## Repo layout - `image/` — Docker image source (FastAPI app + `models.yaml`) - `package/` — StartOS 0.4 package source -- `scripts/build-s9pk.sh` — convenience wrapper around the StartOS build - `runbook.md` — operating notes - `known-issues.md` — known quirks and workarounds +- `LICENSE` — MIT ## Status -v0.1 — local-only, single-cluster, no auth (trusts LAN). +**v0.1** — local-only, single-cluster, no auth (trusts LAN). Five LLMs in the catalog: qwen3-vl (cluster), gemma4, qwen36, plus two legacy entries. Magpie surfaces red until its container is fixed. + +v0.2 backlog (in `runbook.md` / commits): Parakeet/Magpie lifecycle controls, configurable flag tiers in UI, Open WebUI integration, magpie-tts fix.