Caddy left compose.yaml for a quadlet unit (caddy.service): joins dankclaw_default for container-name upstreams, Pull=never for the local-only image, Porkbun credentials via /home/dank/Containers/caddy/env written by deploy from .env, bare-IP-catch-all health check. deploy_caddy installs, enables, and starts the unit after retiring the bare container (state is in host volumes). Pi-hole: the repo now owns the sysctl drop-in (dankclaw/pihole/sysctl/99-dnsmasq.conf, ip_unprivileged_port_start=53); deploy_pihole installs it to /etc/sysctl.d/, stages conflicting later-sorted drop-ins in the home trash, and applies 'sysctl --system' (the boot code path). This fixes the 2026-08-26 crash loop (port-53 bind denied, restart counter 1645) caused by a second drop-in resetting the value to 80. Tests: new caddy_quadlet.bats seam; caddyfile/deployment_flow assertions repointed from the removed compose service to the quadlet; pihole.bats pins the sysctl drop-in and its deployment; test-changed.sh routes dankclaw/caddy/ and the pihole subtree to their seams. Docs: Caddy, Pi-hole, Dankclaw Stack, work log.
3.3 KiB
type, title, description, tags, timestamp
| type | title | description | tags | timestamp | ||||
|---|---|---|---|---|---|---|---|---|
| reference | Dankclaw Stack | Service inventory and routing overview for the Dankclaw AI, development, and observability host. |
|
2026-08-26 |
Dankclaw Stack
Dankclaw (192.168.0.143) runs the AI, search, and development stack. It
hosts the LLM inference endpoint (frank-default-large, :7770, CIRU
ROCmFPX llama.cpp), the agent tools, the privacy search, and the
observability stack. The llama.cpp endpoint (frank-default-small,
:7770) runs on Dankserver (192.168.0.235).
graph LR
U[User] --> C[Caddy :80/:443]
C --> O[OpenWebUI]
C --> S[SearXNG]
C --> G[Gitea]
C --> F[ComfyUI]
C --> D[Grafana]
S --> V[Gluetun VPN]
O --> L[llama.cpp dankserver :7770]
O --> H[Hermes]
O --> E[CIRU llama.cpp :7770]
Services
| Service | Hostname | Port | Docs |
|---|---|---|---|
| SearXNG | search.dankclaw.local | 8081 | SearXNG |
| ComfyUI | comfyui.dankclaw.local | 8188 | ComfyUI |
| OpenWebUI | chat.dankclaw.local | 3005 | OpenWebUI |
| Hermes | hermes.dankclaw.local | 8090 | Hermes |
| Gitea | gitea.dankclaw.local | 3000 | Gitea |
| Grafana | grafana.dankclaw.local | 3002 | Grafana |
| Prometheus | prometheus.dankclaw.local | 9090 | Prometheus |
| Homepage | dankclaw.local | 80/443 | — |
| frank-default-large (host service, Dankclaw) | — | 7770 | deployment |
| frank-default-small (host service, Dankserver) | — | 7770 | deployment |
The last two rows are bare-metal systemd services, not containers. This
repo owns their scripts, units, and knowledge base (see
docs/LLM/index.md). Current mapping (2026-08-22):
frank-default-large runs the CIRU ROCmFPX llama.cpp on Dankclaw;
frank-default-small runs the upstream llama.cpp on Dankserver.
Boot Persistence
The Gitea database and server, the SearXNG trio (gluetun, searxng, valkey), open-webui, Pi-hole, and Caddy run as Quadlet units, so they start at boot. Caddy left compose.yaml on 2026-08-26 after a reboot exposed that bare compose containers never come back; see Caddy for the unit and the incident. The former standalone Gitea Caddy unit is retired. User linger is on. ComfyUI runs as a systemd unit around a bare process. The remaining services in the table are defined in compose.yaml and are not yet boot-persistent — per AGENTS.md (Boot Persistence & Self-Healing) they each need a quadlet before they may be considered reliably deployed.
Deploy the SearXNG trio with scripts/deploy-searxng-quadlet.sh dankclaw, open-webui with scripts/deploy-open-webui-quadlet.sh dankclaw, and Pi-hole with scripts/deploy-pihole-quadlet.sh dankclaw. The Gitea units install to ~/.config/containers/systemd/ (see Gitea); Caddy is deployed through scripts/deploy.sh dankclaw --service caddy.
Routing Rules
- SearXNG outbound traffic exits through the Gluetun VPN container.
- Every other service uses the normal LAN route.
- The homepage lists all services with status.
See Also
- index — repository index
- Network Architecture — routing and proxy
- Observability — Grafana, Prometheus, logs
- LLM fleet knowledge base — the model-serving endpoints on this host