- docs/index.md: LLM Fleet section (all 34 pages linked), merge note, See Also now internal - docs/LLM/index.md: retitled, dangling [[Dankserver]]/[[Dankclaw]] links fixed, sibling section replaced with internal links - docs/LLM/deployment.md: rewritten for the unified deploy flow, manual-update paths point at the merged checkout, incident history kept intact - Deployment Flow / Dankclaw Stack / Gitea: stale vllmScripts references and retired-topology notes updated to the 2026-08-22 state - Historical docs (frank-redo, PP deployment, FastFlowLM) keep their dated runbook paths as-is (records of retired topologies)
1.8 KiB
1.8 KiB
Deployment Flow
Git is the single source of truth. A deploy.sh script moves committed
changes to the target hosts over SSH. One run per target covers both
workloads on that host: the podman stack and the LLM service.
Workflow
graph LR
A[Edit in this repo] --> B[Commit]
B --> C[Push to origin]
C --> D[deploy.sh: pull on target]
D --> E[restart stack]
E --> F[health check]
- Edit files locally in this repository.
- Commit and push.
- Run
./scripts/deploy.sh <dankclaw|dankserver>. - The script pulls the repo on the target and restarts the podman stack and the LLM service.
- It verifies service health after restart (homepage and LLM endpoint).
Deploy Script
./scripts/deploy.sh dankclaw # pull + restart on Dankclaw
./scripts/deploy.sh dankserver # pull + restart on Dankserver
./scripts/deploy.sh dankclaw --dry-run
SSH uses the existing key pair (dank@dankclaw, dank@dankserver). No passwords are stored or documented in this repo. If sudo is needed, use the interactive sudo on the target — never commit a password.
Targets
| Target | Host | Stack |
|---|---|---|
| dankclaw | dank@dankclaw (192.168.0.143) | dankclaw/ |
| dankserver | dank@dankserver (192.168.0.235) | dankserver/ |
Health Verification
The deploy script polls the health endpoint of each service after restart. Service healthchecks are defined in each compose file. A service that fails its healthcheck is reported, not hidden.
Tests
Run the test suite before pushing:
./tests/run.sh
The suite validates compose YAML, env consistency, Caddyfiles, docs completeness, and script syntax. See Testing Policy.
See Also
- Storage Policy
- Testing Policy
- LLM deployment docs — the LLM half of the same flow