Three pages described the fleet; two of them still described the pre-September arrangement. Re-read live on 2026-10-21 (`/v1/models`, `systemctl`, `lspci`, `nproc`, `resolvectl`): - `system/network.md` called Dankclaw the "large inference model" box and Dankserver the "small" one — that is the topology from before the RTX 3090 moved in September. The served ids today are `frank-archon` on Dankserver:7770 (the main model) and `frank-dragoon` (:7770) + `frank-zealot` (:7771) on Dankclaw. The gateway and the DNS pin were re-read too. - `system/dankserver.md` claimed `frank-medium` is *masked*: the unit file does not exist (`is-enabled` answers `not-found`), which is a different fact with a different remedy. And it claimed 8C/16T: this 7700X exposes **8 threads** (`nproc` = 8), so anything sized for 16 is sized for a machine that is not this one. - `system/dankclaw.md` transcribed the engine's slot/KV/context math — `2×262,144 slots over one 524,288 pool, unquantized f16 K+V, MTP off` — while the live unit says `3x200704 slots over one 602112 pool, f16 K + q8_0 V, MTP armed`, and dragoon's ctx had moved too. That math belongs to the serverAppConfigs runbook the page already names: the unit's `ExecStart` is a wrapper script, so any copy here rots on the next engine change. The page now keeps the contract — id, unit, port, engine family, which GPU, and how to prove it — and disowns the numbers, with the reason stated so the next agent does not re-transcribe them. Also recorded, because it is how this audit nearly missed a stopped service: `curl :7770/v1/models` answered normally while `frank-dragoon.service` sat `inactive` with `Result=exit-code` — the container is running outside systemd. A serving port is not a healthy unit. (Flagged for Frank separately; no production unit was touched.) Refs #64
106 lines
5.3 KiB
Markdown
106 lines
5.3 KiB
Markdown
---
|
|
type: reference
|
|
title: Dankclaw
|
|
description: Inference and services box at 192.168.0.143 — frank-dragoon (halogen-flash-server, Strix Halo iGPU, :7770) and frank-zealot (llama.cpp on the RTX 3090, :7771), plus Gitea/Caddy/OpenWebUI services.
|
|
tags:
|
|
- network
|
|
- llamacpp
|
|
- inference
|
|
- server
|
|
- comfyui
|
|
generated:
|
|
by: chief-designer/agent
|
|
at: 2026-08-26T00:00:00Z
|
|
verified: 2026-10-21
|
|
---
|
|
|
|
# Dankclaw
|
|
|
|
Strix Halo mini-PC carrying the fleet's secondary models and the bulk of the
|
|
service stack. Two GPU-class devices: the Radeon 8060S iGPU with 119 GiB
|
|
unified memory, and the RTX 3090 moved over from Dankserver in September 2026.
|
|
|
|
## Service Stack
|
|
|
|
Re-derive the census rather than trusting this table — the stack changes weekly:
|
|
`podman ps --format '{{.Names}} {{.Ports}}'` (user) plus the root units
|
|
(`systemctl list-units --all | grep -E 'gitea|caddy|frank'`). User-scope Podman Quadlet units
|
|
(`~/.config/containers/systemd/`) unless noted. Full names; detail pages where they exist.
|
|
|
|
| Group | Containers |
|
|
|-------|-----------|
|
|
| Inference (root systemd, not quadlet) | `frank-dragoon` (:7770), `frank-zealot` (:7771) |
|
|
| TTS | `frank-tts` (:7772), `frank-tts-engine` (:8880) |
|
|
| Git forge | `gitea-server` (:3000/:2222), `gitea-postgres` — see [/tools/gitea/](/tools/gitea/index.md) |
|
|
| Web/search | `caddy` (:80/:443, Porkbun build), `searxng` (:8081/:8082 via `gluetun`), `searxng-valkey`, `marreta`, `marreta_browser`, `anubis` (bot shield), `chrome-devtools-protocol` (headless-shell) |
|
|
| Identity | `authentik-server` (:9000), `authentik-worker`, `authentik-outpost`, `authentik-outpost-ldap` (:389/:636), `authentik-postgres` |
|
|
| Monitoring | `prometheus` (:9090), `grafana` (:3002), `loki`, `alloy`, `alertmanager` (:9093), `node-exporter` — loopback-only ports |
|
|
| Media/apps | `open-webui` (:3005), `comfyui` (:8188, ROCm `gfx1151`), `seerr` (:5055), `hermes`/`hermes-webui`/`hermes-dashboard` (:9119), `ntfy` (pubsub), `pihole` (:53 DNS, :8083 admin) |
|
|
|
|
## Connection Details
|
|
|
|
| Property | Value |
|
|
|----------|-------|
|
|
| **Hostname** | dankclaw |
|
|
| **IP Address** | 192.168.0.143 (LAN) |
|
|
| **Auth** | none required on :7770 (verified 2026-10-18) |
|
|
|
|
## Inference Services
|
|
|
|
| Model ID | Unit | Endpoint | Engine / weights |
|
|
|----------|------|----------|------------------|
|
|
| `frank-dragoon` | `frank-dragoon.service` (root) | `:7770` (container `frank-dragoon-halogen`, 7770→8731) | halogen-flash-server container (`ghcr.io/peonist-ai/halogen-flash-server`, digest-pinned) — Quat3rnion NATIVE v2 abliterated Qwen3.8-Flash-Next, MTP spec decode, vision ON, on the **Strix Halo iGPU** (unified memory) |
|
|
| `frank-zealot` | `frank-zealot.service` (root) | `:7771` (container `frank-zealot`) | llama.cpp, PrismML fork — Ternary-Bonsai-2-9B PQ2_0-MTP GGUF (qwen35 hybrid) + refusal adapter, mmproj vision, on the **RTX 3090**; flags come from `~/serverAppConfigs/scripts/frank-zealot.env` + `serve-frank-zealot.sh` |
|
|
|
|
Slot counts, KV-cache types and context math are deliberately **not** transcribed here: the
|
|
unit `ExecStart` is a wrapper script and the numbers move with every engine change, so they
|
|
belong to the serverAppConfigs runbooks named below. What an agent needs from this page is the
|
|
contract — id, unit, port, engine family, which GPU — and the two commands that prove it live.
|
|
|
|
**A serving port is not a healthy unit.** On 2026-10-21 `curl :7770/v1/models` answered
|
|
normally while `frank-dragoon.service` sat `inactive` with `Result=exit-code`: the container had
|
|
been started outside systemd. Health is `systemctl is-active frank-dragoon` (root), not the
|
|
curl.
|
|
|
|
Harness-side context windows (`agent/models.yml`): dragoon 155,648,
|
|
zealot 200,704 per slot. The models.yml display labels "(dankclaw-gpu)" /
|
|
"(dankclaw-3090)" predate naming cleanup; the hardware column above is
|
|
current. Subagent roles `scout`, `sonic`, `designer`, `librarian`,
|
|
`security-reviewer` route to frank-zealot; `reviewer`/`task` run on
|
|
frank-archon (Dankserver).
|
|
|
|
```bash
|
|
curl http://192.168.0.143:7770/v1/models # dragoon
|
|
curl http://192.168.0.143:7771/v1/models # zealot
|
|
```
|
|
|
|
## Hardware (verified live 2026-10-21)
|
|
|
|
| Property | Value |
|
|
|----------|-------|
|
|
| **CPU/APU** | AMD Ryzen AI MAX+ 395 (Strix Halo, Radeon 8060S, gfx1151) |
|
|
| **dGPU** | NVIDIA GeForce RTX 3090 (moved from Dankserver 2026-09) |
|
|
| **RAM** | 121 GiB (mostly usable as GPU unified memory) |
|
|
| **Swap** | 64 GiB |
|
|
| **OS** | Ubuntu 26.04 LTS, kernel 7.0.0-38-generic |
|
|
|
|
The pre-rename story (`frank-default-large` on ROCmFPX llama.cpp/CIRU,
|
|
262,144-token context) was superseded by the 2026-10-08/09 model-id rename
|
|
and the dragoon/zealot engine swaps; the 119→121 GiB RAM figure follows the
|
|
live `free` reading.
|
|
|
|
## Related Knowledge Bases (sibling project)
|
|
|
|
- **serverAppConfigs** — deployment repo + vault, on this workstation at
|
|
`~/Projects/serverAppConfig/` (docs vault: `~/Projects/serverAppConfig/serverAppConfigs-docs/`).
|
|
Live runbooks: `LLM/frank-dragoon-flash-server-v2-native.md` and
|
|
`LLM/frank-zealot-llama-prism-bonsai2-pq20.md` — deploy-side source of
|
|
truth for engines, flags, and restart procedures. Service stack docs under
|
|
`Dankclaw/`, `Infrastructure/`.
|
|
|
|
## See Also
|
|
|
|
- [dankserver](/system/dankserver.md) — the main-model box (frank-archon)
|
|
- [/tools/gitea/index.md](/tools/gitea/index.md) — Gitea stack on this host
|
|
- [network](/system/network.md) — Network topology
|