# 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/.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. |