Update README with build flow + post-install steps; note IPv6/mDNS quirk

This commit is contained in:
Grant
2026-05-12 10:03:37 -05:00
parent 72bf754baa
commit 53a0b01d88
+27 -4
View File
@@ -29,9 +29,9 @@ Two layers in this repo:
```bash ```bash
cd image cd image
python -m venv .venv && source .venv/bin/activate python3 -m venv .venv && source .venv/bin/activate
pip install -e . pip install -e .
export SPARK1_HOST=<spark-1-host>.local export SPARK1_HOST=<spark-1-ip>
export SPARK1_USER=<spark-user> export SPARK1_USER=<spark-user>
export SPARK2_HOST=<spark-2-ip> export SPARK2_HOST=<spark-2-ip>
export SPARK2_USER=<spark-user> export SPARK2_USER=<spark-user>
@@ -41,14 +41,37 @@ uvicorn app.server:app --host 0.0.0.0 --port 9999 --reload
Open <http://localhost:9999>. Open <http://localhost:9999>.
> **Note:** use the **IP** `<spark-1-ip>` for Spark 1, not `<spark-1-host>.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 `<spark-user>` user.
3. **Actions****Configure Sparks** → enter `<spark-1-ip>` / `<spark-user>` for Spark 1 and `<spark-2-ip>` / `<spark-user>` for Spark 2.
4. Start the service. Open the Web UI — current model + health should show within ~5 s.
## Repo layout ## Repo layout
- `image/` — Docker image source (FastAPI app + `models.yaml`) - `image/` — Docker image source (FastAPI app + `models.yaml`)
- `package/` — StartOS 0.4 package source - `package/` — StartOS 0.4 package source
- `scripts/build-s9pk.sh` — convenience wrapper around the StartOS build
- `runbook.md` — operating notes - `runbook.md` — operating notes
- `known-issues.md` — known quirks and workarounds - `known-issues.md` — known quirks and workarounds
- `LICENSE` — MIT
## Status ## 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.