18 pages cut their per-endpoint shape, payload, port and window claims and
link [[frank-archon]] / [[frank-dragoon]] / [[frank-zealot]] instead. Several
of the cut claims had already drifted -- the stack page still described the
kingjones ROCmFP4 era on ROCmFPX, OpenWebUI carried the 27B/3-slot bench
narrative, Hermes named a retired max_model_len and the old service name, and
the OMP harness page's live-window block had drifted off frank-zealot's real
262,144 (it is now labelled a dated worked example whose authority is the
endpoint page).
Two facts gain a single owner instead of two: the up{job=~"frank-.*"} scope
lives in Infrastructure/Prometheus.md, and the blackbox/Anubis probe form in
Architecture/Stale Signal Audit.md, each cited from the other page.
Voice Packs and Frank TTS carried live-state claims that contradicted the
engine page's 2026-10-18 deploy record (nothing listening on 7772/8880, model
dir absent); they now point at the pages that own host state.
79 lines
4.3 KiB
Markdown
79 lines
4.3 KiB
Markdown
---
|
|
type: reference
|
|
title: Dankclaw Stack
|
|
description: Service inventory and routing overview for the Dankclaw AI, development, and observability host.
|
|
tags:
|
|
- dankclaw
|
|
- services
|
|
- containers
|
|
- caddy
|
|
timestamp: 2026-08-26
|
|
---
|
|
|
|
# Dankclaw Stack
|
|
|
|
Dankclaw (192.168.0.143) runs the AI, search, development, and observability
|
|
stack. Its LLM inference endpoints are bare-metal host services, not part of
|
|
the container stack; each has its own page — shape, payload, eras and wire
|
|
contract live there, nowhere else. See [[frank-dragoon]] and [[frank-zealot]]
|
|
(both on this host) and [[frank-archon]] (Dankserver, 192.168.0.235).
|
|
|
|
```mermaid
|
|
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[LLM endpoints]
|
|
O --> H[Hermes]
|
|
```
|
|
|
|
## Services
|
|
|
|
| Service | Vhost (guard status) | Port/route | Docs |
|
|
|---------|----------------------|------------|------|
|
|
| SearXNG | `search.franksdank.cloud` (guarded: Anubis → Authentik) | published by gluetun at `8081:8080`; searxng itself has no published port | [[SearXNG]] |
|
|
| ComfyUI | none — LAN-only by construction | `8188` | [[ComfyUI]] |
|
|
| OpenWebUI | `ai.franksdank.cloud` (exempt — own auth) | `3005 → 8080` | [[OpenWebUI]] |
|
|
| Hermes | `hermes.franksdank.cloud` (exempt by construction; internal-only via DNS absence) | webui `8787`; gateway publishes none | [[Hermes]] |
|
|
| Gitea | `gitea.franksdank.cloud` (exempt — git smart HTTP) | `3000`, SSH `2222` | [[Gitea]] |
|
|
| Grafana | `grafana.franksdank.cloud` (guarded) | Caddy routes post-auth to `grafana:3000` | [[Grafana]] |
|
|
| Prometheus | `prometheus.franksdank.cloud` (guarded) | `9090` | [[Prometheus]] |
|
|
| Loki | `loki.franksdank.cloud` (guarded; dedicated loki-proxy outpost provider with `internal_host = caddy:8017`) | `3100` | [[Observability]] |
|
|
| Seerr | `seerr.franksdank.cloud` (guarded) | Caddy routes post-auth to `seerr:5055` | [[Seerr]] |
|
|
| Homepage | `franksdank.cloud` + `www.` (root site; guarded for admin actions) | served by Caddy itself from `/srv/homepage` | — |
|
|
| Pi-hole | `pihole.franksdank.cloud` (basicauth edge, not the guard chain) | admin UI `8083`; DNS on `:53` LAN-wide | [[Pi-hole]] |
|
|
| frank-dragoon (host service) | — | `7770` | [[frank-dragoon]] |
|
|
| frank-zealot (host service) | — | `7771` | [[frank-zealot]] |
|
|
| frank-archon (host service, Dankserver) | — | `7770` | [[frank-archon]] |
|
|
|
|
The LLM rows are bare-metal systemd services, not containers, and this repo
|
|
owns their scripts, units and knowledge base (see
|
|
[LLM fleet knowledge base](../LLM/index.md)). Which payload and runtime sits on
|
|
each port is era state and lives on the endpoint page, not here. `frank-npu`
|
|
(the XDNA2 NPU endpoint) and `frank-medium` (the predecessor of `frank-archon`
|
|
on the Dankserver port) are both retired — see [[frank-npu]] and
|
|
[[frank-medium-radiance-mxfp4]].
|
|
|
|
## 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](../LLM/index.md) — the model-serving endpoints on this host
|