- Dankserver stack: RomM, Copyparty, Calibre-Web, node-exporter - Dankclaw stack: Gluetun VPN (SearXNG tunnel), SearXNG+Valkey, ComfyUI (CPU backend), OpenWebUI, Hermes, Gitea+Postgres (migrated), Caddy reverse proxy, Grafana+Prometheus+Loki+Alloy observability - Caddyfiles with .local hostname convention and basicauth homepage - bind-mount storage policy, no named volumes - deploy.sh mirroring vllmScripts git workflow (push -> pull -> restart -> health) - docs/ Obsidian vault: per-service docs from frank-default-small research subagents (promtail EOL -> Alloy; gitea SECRET_KEY preservation; ComfyUI --cpu) - bats test suite at 6 seams — 22 tests green
1.7 KiB
1.7 KiB
Deployment Flow
Deployment mirrors the vllmScripts repository: git is the single source of truth, and a deploy.sh script moves committed changes to the target hosts over SSH.
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.
- It verifies service health after restart.
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
- vllmScripts deployment docs — the model this follows