Structural repair: - 13 pages were the same document twice (each exactly 2x its HEAD size), a second frontmatter block whose closing fence had been glued onto a body line by a frontmatter rewrite that re-read its own output. Un-doubled by cutting at the second frontmatter and keeping the copy whose body is a superset; the orphan census reports 0 lost tokens against HEAD. - log.md: one entry per date, bare `## YYYY-MM-DD` headings, newest first — 66 dated headings merged into 34, titles demoted to bold leads, every content line verified present. The file had been descending at the head and ascending at the tail. Ownership moves: - New `LLM/frank-medium.md` is the locator for the retired Dankserver endpoint: era windows quoted from each era page's own banner, no numbers restated, and the two unresolved date conflicts recorded instead of silently resolved. `frank-archon.md` links to it instead of restating the pre-rename window. - The four Pipeline-Parallelism stubs (frontmatter only, no body) are gone; `Multi-Node Runtimes.md` owns runtime construction, launch, mixed-vendor verdicts and cross-split spec decode, and the four links that pointed at the stubs were repointed at it or at the drafter page. - Authentik's three stub pages fold into `Authentik.md`, with the process detail and the outpost reference split out so the parent stays under the length hint. Verified corrections (host census + live probe, 2026-10-19): - The MXFP4 checkpoint two pages called the "on-disk rollback" is gone: /home/dank/models/ holds StillDeadcode, rad and tpl.jinja. Stated once, on the era page that owns that payload; the swap page now links to it. - frank-medium-radiance-mxfp4: the 4.24/7 accept rate belongs to the DFlash2 arm measured on the FP8 target, not to the MXFP4 era; the 3-family soak run census is kept once (155 requests) instead of twice (~120 and 155). - Fleet shapes re-confirmed against the live endpoints before touching any page: 3x200000 fp8 KV, 2x200704, 2x262144. Index rows are regenerated, not hand-carved. Net -1,849 vault lines.
20 KiB
20 KiB
serverAppConfigs — knowledge base
One fact, one owner. A page owns exactly one thing and everywhere else links
to it with a wikilink. Shape, payload, eras, laws and rollback for an inference
endpoint live on its endpoint page; scripts/<service>.env is the authority for
every number, and a page that disagrees with it is the bug. Payload swaps are
rows in an endpoint page's Eras table, never pages of their own. This index
is a locator: one row, one clause, no numbers.
Inference endpoints
| Page | Owns |
|---|---|
| frank-archon | The radiance endpoint: live shape and harness contract, every era with its rollback path, and the laws it taught. |
| frank-dragoon | The iGPU endpoint: live shape, every era with its rollback path, the laws it paid for, and the files that own it. |
| frank-zealot | The RTX 3090 endpoint: live shape exactly as the env ships it, every era with its rollback path, and its card laws. |
Retired endpoints
| Page | Owns |
|---|---|
| dealign-ornith-crack | Retired era: a mixture-of-experts checkpoint served with CPU expert offload and n-gram drafting on a single card. |
| frank-medium | Locator for the retired Dankserver LLM endpoint: which era page owns which payload, and where the dates disagree. |
| frank-medium-llamacpp-dflash2 | Retired era: the layer-split llama.cpp shape with a drafter, its ladder measurements, and the balance it settled on. |
| frank-medium-model-swap | Retired-era swap procedure: the fetch toolchain, the entrypoint contract, the capability battery, the rollback path. |
| frank-medium-radiance-mxfp4 | Retired era: the tensor-parallel radiance shape on two cards, its quant-class swap, and the on-disk rollback payload. |
| frank-medium-rocmfpx | Retired era: the ROCmFPX fork serving an agent-tuned checkpoint on the two-card box, and the loader pin it required. |
| frank-npu | The retired NPU endpoint: what it served, why it died with the IOMMU decision, and where every dependent route went. |
| frank-redo-2026-08-17 | The day the whole inference fleet was rebuilt: what came down, what replaced it, and why it was done that way. |
| ikllama-ornith-dankserver | Retired era: the ik_llama fork with a quantized value cache and CPU expert offload, and the build flags it required. |
| kingjones-q8agent-rocmfpx | Historical: a checkpoint and loader pairing staged for this host and never deployed on it. |
Dankclaw services
| Page | Owns |
|---|---|
| ComfyUI | ComfyUI is a node-based AI image generation engine. |
| ComfyUI Qwen-Image Workflows | Proven Qwen-Image text-to-image workflows on Dankclaw: the recipes, the API call shape, and which models to add next. |
| Dankclaw Stack | Service inventory and routing overview for the Dankclaw AI, development, and observability host. |
| Frank TTS | The fleet's cloned-voice speech endpoint and the one voice surface consumers address; wired as the harness speech role. |
| Frank TTS Engine | The engine behind the fleet's speech endpoint: its runtime, private bridge, and the surface it publishes. |
| Gitea | Gitea deployment on Dankclaw with its web UI reverse-proxied by the canonical Caddy service. |
| Gluetun | Gluetun is a lightweight VPN client container. |
| Hermes | Hermes is the self-improving AI agent from Nous Research. |
| Hermes-Dashboard | The Hermes web dashboard is a browser UI for managing the agent. |
| Hermes-WebUI | The iPhone companion app for Hermes on Dankclaw and the ways it is reached from the LAN. |
| Marreta | The content-cleaning proxy SearXNG borrows egress from: a quadlet pair in the VPN netns behind the guard chain. |
| Open Notebook | The fleet's podcast generator: notes in, multi-speaker episode out, script and voices both served in-house. |
| OpenWebUI | OpenWebUI is a self-hosted chat interface for LLMs. |
| Postgres | PostgreSQL is the database backend for Gitea. |
| SearXNG | SearXNG is a privacy-respecting metasearch engine. |
| SearXNG Providers | How Google and other upstream search engines get blocked behind the Gluetun |
| Seerr | The request manager for the *arr stack — the maintained successor to the archived Overseerr line. |
| Swap Configuration | The host swapfile: why it is sized as it is, the resize ordering that avoids an OOM, and the swappiness caveat. |
| Valkey | Valkey is the cache and limiter store for SearXNG. |
| Voice Packs | How a voice pack is built: the files every pack must carry, the source-material gate, adding a voice, engine-bump drift. |
Dankserver services
| Page | Owns |
|---|---|
| Calibre | Calibre is the e-book library manager that backs Calibre-Web. |
| Calibre-Web | Calibre-Web is a web application that browses, reads, and downloads eBooks from an existing Calibre library database. |
| Copyparty | Copyparty is a lightweight file server and media streamer that runs as a single Python binary. |
| Dankserver Stack | Service inventory and routing overview for the media and library host. |
| Entropy Volume | The Dankserver entropy volume is a RAID-backed LUKS filesystem mounted at |
| Jellyfin | Jellyfin on Dankserver: quadlet unit, entropy-volume data layout, ports, client access, hardware-transcode status. |
| mariadb | The MariaDB backend for RomM: quadlet unit, network alias, env-file secret handling, and the backup path. |
| Plex | Plex Media Server is a containerized media server on Dankserver: a podman |
| redis | The Redis cache and task queue for RomM: quadlet unit, network alias topology, and the backup path. |
| RomM | RomM (ROM Manager) is a self-hosted ROM library manager and player. |
| RomM-Scraping | Metadata providers, cover art, ROM naming and the scraping workflow behind the RomM library. |
| Tautulli | Tautulli is the statistics, monitoring, and notification companion for |
FrankBook-Pro
| Page | Owns |
|---|---|
| ARR-Stack | The *arr automation stack on FrankBook-Pro, every container on the VPN netns: topology, wiring, and gotchas. |
| lidarr | Lidarr music manager in the *arr stack on FrankBook-Pro — live quadlet deployment, ports, volumes, and wiring facts. |
| prowlarr | Indexer management for the *arr stack: feed routes, the sync model, the API surface, and verified live gotchas. |
| qbittorrent | The download client for the *arr stack: pinned image, shared WireGuard netns, WebUI credential recipe. |
| radarr | Radarr movie manager in the *arr stack on FrankBook-Pro — live quadlet deployment, ports, volumes, and wiring facts. |
| readarr | The ebook and audiobook manager in the *arr stack: retired upstream, pinned image, parked download client. |
| sonarr | Sonarr TV manager in the *arr stack on FrankBook-Pro — live quadlet deployment, ports, volumes, and wiring facts. |
Workstations
| Page | Owns |
|---|---|
| Noctalia and Niri | The noctalia shell on niri across workstations: config layers, remote IPC, custom palettes, output rotation and pinning. |
Cross-host infrastructure
| Page | Owns |
|---|---|
| Alertmanager | Receives firing rules from Prometheus, groups and dedupes them, and forwards each group to the host-side Signal relay. |
| Alloy | Alloy is Grafana's log and telemetry shipper. |
| Anubis | Anubis is the bot-challenge proxy that fronts the guarded public vhosts on |
| Authentik | Authentik is the single sign-on (SSO) and OpenID Connect (OIDC) provider for the |
| Authentik Outpost Reference | Outpost, proxy-provider, OAuth2, LDAP and flow configuration for the homelab's Authentik SSO. |
| Authentik Processes | The three core Authentik containers — database, server and worker — with their units, images, roles and probes. |
| Caddy | Caddy is the single reverse proxy for both hosts. |
| FrankBook-Pro | FrankBook-Pro — the Mac mini running the *arr stack + qBittorrent inside a podman machine VM, gluetun-gated |
| Grafana | Grafana visualizes the metrics that Prometheus collects from every service. |
| Homepage | The password-protected service list on Dankclaw: what each card shows and where its data comes from. |
| Homepage Design Grilling | The decision log for the homepage design. |
| Homepage Status Probes | How probe targets are chosen, the three false-down shapes, the triage procedure, and the e2e gate interactions. |
| LAN-DNS | The homelab gives every service a name under franksdank.cloud. |
| Loki | Loki is the log aggregation backend of the observability stack. |
| Node-Exporter | Node-Exporter exposes host metrics (CPU, RAM, disk, network) to Prometheus. |
| Observability | The observability stack: what runs, how it is deployed, how it is exposed, and what is still unconfigured. |
| Observability Provisioning | Monitoring config as code: the config triad, deploy copiers, planner mappings, and where each change type lands. |
| Pi-hole | Pi-hole is the LAN DNS server for the homelab. |
| Prometheus | Scrapes each service's metrics endpoint and feeds the provisioned Grafana datasource; down targets are structural. |
Repo architecture and policy
| Page | Owns |
|---|---|
| Container Network Namespaces | How Podman builds container networks here: the network inventory, the netns sharing mechanism, and the isolation limits. |
| Deploy State Triage | Reading deploy-state markers against live containers and deciding, safely, whether to redeploy. |
| Deployment Flow | Service-scoped Git deployment for the two homelab hosts. |
| E2E Suite | The Playwright suite that drives the live fleet through a real browser, its project set, and the FrankBook conditional. |
| Network Architecture | One Caddy fronts both hosts. |
| Quadlet Lifecycle | The Quadlet discipline: ownership audits, compose cutover, drift and crash-loop triage, generator quirks, log retrieval. |
| Stale Signal Audit | The audit battery for surfaces that rot without failing: dead probes, vacuous assertions, gates that never run. |
| Storage Policy | All persistent data uses bind mounts: a host directory mapped directly into the container. |
| Testing Policy | This repository tests its configuration at defined seams. |
Operations and incidents
| Page | Owns |
|---|---|
| Container Host Reachability | Two reachability quirks: containers cannot dial unpublished host ports, and netns membership decides reachability. |
| Fleet Audit and Posture | Three standing audits: monitoring completeness, vhost proxy health, and behavioural security posture. |
| Fleet Ops Playbook | Incident-shaped procedures: endpoint down with a GPU holder, stop-first bench windows, service iteration, waking a host. |
| Payload and Disk Reclaim | Disk pressure procedure: measure every bucket, classify, prove nothing references the payload, stage, purge on approval. |
| Remote Job Runner | Detached long jobs with sentinel files: why tail-watchers fail structurally, the script, its invariants, verification. |
| SSH and Remote Access | Passwordless SSH bootstrap without sshpass, remote execution against fish login shells, and frozen-GUI triage. |
Agent / harness
| Page | Owns |
|---|---|
| Agent Docs and Edits | Two self-inflicted doc damage classes from parallel agent edits, with the audit checks and recovery order for each. |
| Command Center Dotfiles | How the dotfiles repo deploys: stow-equivalent packages, full-replica rsync, the pre-overwrite audit, transport gotchas. |
| OMP Harness | The omp harness as configured here: compaction chain arithmetic, per-model sampler routing, and the context-lean audits. |
Research and methodology
| Page | Owns |
|---|---|
| AI Job Search and Resume Tools | Self-hosted job-search and resume tools: the landscape, local-LLM fit, and the recommended homelab stack. |
| Backblaze Integration | Off-site backup plan for the bind-mounted data on both hosts. |
| ComfyUI ROCm and Vulkan | Whether ComfyUI can use the Strix Halo APU at all, and which backend path actually reaches the GPU. |
| Lemonade and sd.cpp | Why Lemonade Server can do image generation on Strix Halo when ComfyUI cannot. |
| Llama Cpp Code Diff | Code-level diff of the three llama.cpp trees here: quantization code, type numbers, and what differs for our cards. |
| Llama Cpp Runtimes | The llama.cpp trees on this host compared: positioning, quantization formats, and fit for each machine. |
| Local TTS and Voice Cloning | Creating a local voice from sample files: the open-weight cloning landscape, the measured engine A/B, the audio stack. |
| Most Popular Self-Hosted AI Apps | The most-starred self-hosted AI applications of the year so far, with homelab fit and adoption notes. |
| PICO-8 Asset Standards | Asset-sheet standards for PICO-8: palette discipline, one light direction, detail hierarchy, cohesion checklist. |
| Service Research Brief | Consolidated upstream research on the fleet's LLM runtimes, dated to when it was gathered. |
| SGLang | What SGLang is, how it schedules and caches, how it compares to the runtimes here, and whether it fits this fleet. |
Pipeline Parallelism (series)
| Page | Owns |
|---|---|
| Ethernet Bandwidth Math | Bytes-per-token math for pipeline versus tensor parallelism, and the link budgets that follow from it. |
| Expected Performance | Estimated split-model throughput over ethernet, with the benchmark anchors the estimates rest on. |
| Multi-Node Runtimes | How each two-machine runtime is built and launched, what it can combine with, and the mixed-vendor verdicts. |
| Qwen3.8 PP Deployment | The real split deployment: which node is head and which is worker, the flags, and the verified gotchas. |
| Sample Script Set | An educational two-node RPC split script set, for reading only — never run it or deploy it. |
LLM technique and hardware references
| Page | Owns |
|---|---|
| Dankclaw Improvements | This page collects concrete, sourced recommendations to improve Dankclaw |
| Dankclaw System Specs | Dankclaw is an AMD APU server for CIRU ROCmFPX llama.cpp inference. |
| dankclaw-iommu-translation-off | Why Dankclaw boots with identity DMA, what the earlier off-era bought and cost, and which tooling owns the boot line. |
| Dankserver System Specs | Dankserver hardware and OS state since the board swap: board, lane topology, cards, memory, kernel posture. |
| dankserver-frontier-moe-feasibility | The capacity arithmetic that decides whether a frontier mixture-of-experts fits this box before any model is loaded. |
| dankserver-vram-growth | Investigation of the recurring cuBLAS crash on frank-zealot. What grows, what does not, and what to do next. |
| deployment | Scoped deployment and update process for the three inference services (frank-archon, frank-dragoon, frank-zealot). |
| DFlash DSpark Speculative Decoding | DFlash and DSpark are the two newest speculative decoding methods. |
| Dual-R9700-Cooperation | Why two R9700s could not run tensor-parallel on the old board, and what the board swap unblocked. |
| FastFlowLM NPU Inference | The AMD NPU-first runtime: fit analysis for the XDNA2, published benchmarks, install state, and test runbook. |
| frank-medium-batch-ubatch | The batch-versus-ubatch sweep on the layer-split pair at its deployed shape, and the rebalance the sweep forced. |
| FreeToken Builds | Building the FreeToken runtime here: the CUDA and ROCm builds and the dependency trap each one hit. |
| freetoken-benchmark-sweep | KV pool versus decode speed for the FP8 mixture-of-experts payload on the FreeToken runtime. |
| GGUF Compatibility | Answering whether an engine loads a GGUF from the file header alone, and pinning a fork build that can. |
| Heterogeneous Split Triage | Triage before splitting across unequal accelerators: link characterisation, real bottleneck, what placement never buys. |
| Hybrid CPU GPU Processing Dankserver | Dankserver uses NVIDIA GPU with system RAM for hybrid processing. |
| ling-3.0-flash-trial | Trial of a fork build for a new mixture-of-experts architecture: what loaded, what the harness refused, and the verdict. |
| Llama Cpp Multi-Device Splits | What llama.cpp can express across devices: the no-collective layer-split path, balancing, and drafter KV sizing. |
| Llama Cpp Serving Sizing | Measurement-first sizing for llama.cpp shapes: slot pools against a headroom band, per-device accounting, prompt cache. |
| LLM Bench Windows and Measurement | Opening and restoring benchmark windows on fleet hosts, honest methodology, and the usage-counter law under drafting. |
| LLM Performance Diagnosis | Probing why a served model is slow: the flat-depth probe, offload duty-cycle arithmetic, and profiler attribution. |
| Model Swap and Rollback | The model-swap discipline: fit preflight, fetch verification, build and flag checks, live validation, three-pin revert. |
| PCIe Link and Atomics | Link probing, the streaming-versus-compute ceiling arithmetic, and the atomics wall that decides multi-GPU collectives. |
| Quantization by Hardware Architecture | This page maps LLM quantization formats to the GPU and CPU architectures that support them. |
| Quantization Production | Making a quantized payload here: the conversion recipe, the scoring gate, and the campaign ladder behind a shipped file. |
| qwen3.8-spec-matrix | The speculative-decoding benchmark history for this endpoint, arm by arm, and what each arm ruled out. |
| qwen3.8-strix-optimizations | How a served checkpoint got faster on the Strix Halo iGPU: the lever ladder and what each lever actually bought. |
| RAM CPU Offloading in VLLM | vLLM uses CPU RAM and swap space to extend GPU memory capacity. |
| RDNA4 Container Serving | Bringing a model larger than VRAM onto the two-card box: quant gating, fetch verification, container GPU-init triage. |
| RDNA4 MoE Expert Offload VRAM Budget | Expert-offload arithmetic on the RDNA4 fork: movable terms, the utilisation law, graph charge, ceilings, context ladder. |
| Running Qwen3.6 27B FP8 on Dankclaw | Serving a dense FP8 vision-language checkpoint on the Strix Halo iGPU: the load path, the flags, the format gate. |
| Running Qwen3.6 35B A3B FP8 on Dankserver | Serving a mixture-of-experts FP8 checkpoint on the R9700 host: the load path, the format gate, the offload shape. |
| Shared Memory Architecture Dankclaw | Dankclaw uses AMD Strix Halo APU with unified memory architecture. |
| swift15-campaign-worklog | Dated worklog of the campaign that converted and served a Swift checkpoint on the radiance endpoint, arm by arm. |
| Tcclaviger Fork Ops | Operating the RDNA4 vLLM fork: the sweep harness, measured knob verdicts, sweep hygiene, compile-cache persistence. |
| ubatch-benchmark-large | The wide ubatch sweep for a deployed ROCmFPX shape, run through the standardized harness. |
| vLLM Boot Forensics and Config Interrogation | Recovering a container boot failure's real cause from journald, and interrogating a live endpoint's true config. |
| VLLM Index | Locator for every vLLM page in this vault. |
| VLLM Overview | vLLM is a fast and easy library for large language model inference and serving. |
| vLLM Porting and Compile Triage | Forward-porting a model architecture: additive-only discipline, shims that survive worker spawn, compile triage. |
| vllm_research_findings | Upstream support survey for speculative decoding: which flags, releases and pull requests carry each method. |
| x4-pair-experiment | Measured limits of a consumer card plus APU pair: the tensor inventory, the flag that kills cross-device placement. |
Change history
| Page | Owns |
|---|---|
| log | Chronological incident and law log for the whole bundle. |