The cutover PR merged the runtime; this carries the surface that has to be true afterwards. - Engine page: the shape is now `--device Vulkan0` on the gfx1151 as a co-tenant beside frank-dragoon; the registry/thread/streaming laws gain a fourth — the device law — whose numbers stay in the verdict report, and the deploy record gets the cutover steps including the `glslc` configure gate. The CPU-era arm/rollback prose keeps the qualitative argument and drops the dead numbers per the purpose test. - Endpoint page: "Where the engine computes" now says iGPU + co-tenancy, and states the NPU verdict in one paragraph instead of a research tour. - Quadlet comment: it claimed supplementary groups are what grant render access. On this host the udev rule world-writes the render nodes and the container's `id` shows no groups at all, so keep-groups is belt-and-braces; the RSS note now matches the device shape instead of the CPU trial. - Verdict report: gate 2 (contention) recorded as measured after the cutover, and the build-stage prediction corrected — the package is `glslc`, not `libvulkan-dev glslang-dev`. - index.md regenerated (one description changed).
13 KiB
13 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. |
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 Vulkan build on the iGPU, its private bridge, and what 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. |
| 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. |
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. |
| DFlash DSpark Speculative Decoding | DFlash and DSpark are the two newest speculative decoding methods. |
| 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. |
| Llama Cpp Serving Sizing | Measurement-first sizing for llama.cpp shapes: slot pools against a headroom band, per-device accounting, prompt cache. |
| LLM Performance Diagnosis | Probing why a served model is slow: the flat-depth probe, offload duty-cycle arithmetic, and step-shape 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. |
| RDNA4 MoE Expert Offload VRAM Budget | Expert-offload arithmetic on the RDNA4 fork: movable terms, the utilisation law, graph charge, ceilings, context ladder. |
| Shared Memory Architecture Dankclaw | Dankclaw uses AMD Strix Halo APU with unified memory architecture. |