The model cards become the StarCraft trio: frank-large -> frank-dragoon, frank-primary -> frank-archon, frank-secondary -> frank-zealot (family names only; endpoint/API ids unchanged). The three cards fuse into one Model Information component: per-unit Protoss accent colours and hex- clipped unit art, 15px type, clickable StarCraft unit-voice quotations (original .ogg files from the fandom wiki, served from /sfx/), supervision notes (dragoon/archon safe for autonomous use, zealot tight supervision), compaction-model recommendation for frank-zealot, and uncensored-model legal notes rendered as hover tooltips instead of wall text. docs.html carries the same renames plus api-id mapping. App-card updates: Seerr, Calibre-Web, RomM, Jellyfin set to WIP: DOWN with Open links removed (new wip "down" badge state); Copyparty notes it serves all other media apps content including WIP apps; Gitea and Plex noted as needing logins separate from SSO; SearXNG noted as obfuscated, not anonymous (upstream API keys tie to Frank). Plumbing: Caddy @data allowlist grew /sfx/*; deploy_homepage copies sfx/; homepage_config.bats pins the new probe names, the component fields, art/voice-file presence, and the wip-down schema.
458 lines
13 KiB
JSON
458 lines
13 KiB
JSON
[
|
|
{
|
|
"name": "SearXNG",
|
|
"category": "user",
|
|
"section": "Web Apps",
|
|
"description": "AI-free, VPN-routed search engine, fully hosted on Frank's server. Your searches are obfuscated, not anonymous: upstream API keys are tied to Frank's identity.",
|
|
"url": "http://search.franksdank.cloud",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:8081",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "OpenWebUI",
|
|
"category": "user",
|
|
"section": "AI",
|
|
"description": "AI Chat/Search interface",
|
|
"url": "http://ai.franksdank.cloud",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:3005",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "Gitea",
|
|
"category": "user",
|
|
"section": "Web Apps",
|
|
"description": "Git code hosting and review platform. Needs its own login, separate from the dankcloud single sign-on (ask Frank).",
|
|
"url": "http://gitea.franksdank.cloud",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:3000",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "Calibre-Web",
|
|
"category": "user",
|
|
"section": "Media Library Apps",
|
|
"description": "E-book library. Work in progress: not open to family users yet.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "192.168.0.235:8083",
|
|
"method": "http",
|
|
"wip": "down",
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "RomM",
|
|
"category": "user",
|
|
"section": "Media Library Apps",
|
|
"description": "ROM and emulator library. Work in progress: not open to family users yet.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "192.168.0.235:8085",
|
|
"method": "http",
|
|
"wip": "down",
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "Copyparty",
|
|
"category": "user",
|
|
"section": "Web Apps",
|
|
"description": "Direct downloads from Frank's server. Everything the other media apps hold — including the work-in-progress ones (Calibre-Web, RomM, Seerr) — is available here.",
|
|
"url": "http://files.franksdank.cloud",
|
|
"docs": "",
|
|
"probe": "192.168.0.235:3923",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "Plex",
|
|
"category": "user",
|
|
"section": "Media Library Apps",
|
|
"description": "Closed source media server with apps for everything. Needs its own Plex login, separate from the dankcloud single sign-on (ask Frank).",
|
|
"url": "http://plex.franksdank.cloud/web/index.html",
|
|
"docs": "",
|
|
"probe": "192.168.0.235:32400",
|
|
"method": "tcp",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "Jellyfin",
|
|
"category": "user",
|
|
"section": "Media Library Apps",
|
|
"description": "Open source media server. Work in progress: not open to family users yet.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "192.168.0.235:8096",
|
|
"method": "http",
|
|
"wip": "down",
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "Seerr",
|
|
"category": "user",
|
|
"section": "Media Library Apps",
|
|
"description": "Download requests. Work in progress: not open to family users yet.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:5055",
|
|
"method": "http",
|
|
"wip": "down",
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "Marreta",
|
|
"category": "user",
|
|
"section": "Web Apps",
|
|
"description": "Clean, ad-free article reader. Paste any URL, get just the article.",
|
|
"url": "http://marreta.franksdank.cloud",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:8082",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "Sonarr",
|
|
"category": "admin",
|
|
"section": "Media Library Apps",
|
|
"description": "TV series library and automation.",
|
|
"url": "http://192.168.0.112:8989",
|
|
"docs": "",
|
|
"probe": "192.168.0.112:8989",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "Hermes",
|
|
"category": "admin",
|
|
"section": "AI",
|
|
"description": "The agent gateway.",
|
|
"url": "http://hermes.franksdank.cloud",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:8787",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "Hermes dashboard",
|
|
"category": "admin",
|
|
"section": "AI",
|
|
"description": "Agent management UI (config, API keys, sessions).",
|
|
"url": "http://hermesadmin.franksdank.cloud",
|
|
"docs": "",
|
|
"probe": "192.168.0.143:9119",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "Grafana",
|
|
"category": "admin",
|
|
"section": "Observability",
|
|
"description": "Dashboards.",
|
|
"url": "http://grafana.franksdank.cloud",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:3002",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "Prometheus",
|
|
"category": "admin",
|
|
"section": "Observability",
|
|
"description": "Metrics collection.",
|
|
"url": "http://prometheus.franksdank.cloud",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:9090",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "Loki",
|
|
"category": "admin",
|
|
"section": "Observability",
|
|
"description": "Log storage.",
|
|
"url": "http://loki.franksdank.cloud",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:3100",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "node-exporter",
|
|
"category": "admin",
|
|
"section": "Observability",
|
|
"description": "Host metrics.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:9100",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "alloy",
|
|
"category": "admin",
|
|
"section": "Observability",
|
|
"description": "Log shipping.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:12345",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "alertmanager",
|
|
"category": "admin",
|
|
"section": "Observability",
|
|
"description": "Alert delivery to Signal.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:9093",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "Caddy",
|
|
"category": "admin",
|
|
"section": "Infrastructure",
|
|
"description": "The reverse proxy.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:80",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "Pi-hole",
|
|
"category": "admin",
|
|
"section": "Infrastructure",
|
|
"description": "LAN DNS + ad blocking.",
|
|
"url": "http://pihole.franksdank.cloud",
|
|
"docs": "",
|
|
"probe": "192.168.0.143:8083",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "Gluetun",
|
|
"category": "admin",
|
|
"section": "Infrastructure",
|
|
"description": "The outbound VPN tunnel.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:51820",
|
|
"method": "tcp",
|
|
"wip": "closed",
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "frank-dragoon",
|
|
"category": "user",
|
|
"section": "AI",
|
|
"model": {
|
|
"unit": "dragoon",
|
|
"role": "Frank's deep reasoning model",
|
|
"tagline": "I have returned — make use of me.",
|
|
"sfx": ["dragoon-returned.ogg", "dragoon-makeuse.ogg"],
|
|
"equiv": "Equivalent to Claude Sonnet 5 / OpenAI-Luna (Summer 2026 frontier intelligence).",
|
|
"spec": "Qwen3.8-Flash-Next v2 Swift1.5 abliterated (halogen flash-server, ~62 GiB) on the Strix Halo iGPU — 200k-token context, two submissions at a time; sees images.",
|
|
"inputs": ["text", "image"],
|
|
"use": "Complex agentic tasks, programming, system administration, and \"claw\"-style personal agents.",
|
|
"voice": { "text": "Awaiting instructions.", "sfx": ["dragoon-awaiting.ogg"] },
|
|
"supervision": "Safe for autonomous, low-supervision use.",
|
|
"warn": "Abliterated (censorship-removed) model: output can include adult themes. You are responsible for the legal consequences of how you use it."
|
|
},
|
|
"url": "",
|
|
"docs": "/docs#models",
|
|
"probe": "127.0.0.1:7770",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "frank-archon",
|
|
"category": "user",
|
|
"section": "AI",
|
|
"model": {
|
|
"unit": "archon",
|
|
"role": "Frank's strongest and fastest model runtime",
|
|
"tagline": "...Power Overwhelming...",
|
|
"sfx": ["archon-power.ogg"],
|
|
"equiv": "Equivalent to Claude Opus 4.8 / OpenAI-Terra (Summer 2026 frontier intelligence).",
|
|
"spec": "Qwen3.8-Flash-Next at native FP8 precision (radiance, 173 GiB) on twin AMD R9700s with more than 200 GB of system RAM — 200k-token context, two submissions at a time; sees images.",
|
|
"inputs": ["text", "image"],
|
|
"use": "Software engineering, system administration, and instruction tasks. Please ask Frank before use, as he uses this one primarily.",
|
|
"voice": { "text": "...we BURN.", "sfx": ["archon-burn.ogg"] },
|
|
"supervision": "Safe for autonomous, low-supervision use."
|
|
},
|
|
"url": "",
|
|
"docs": "/docs#models",
|
|
"probe": "192.168.0.235:7770",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "frank-zealot",
|
|
"category": "user",
|
|
"section": "AI",
|
|
"model": {
|
|
"unit": "zealot",
|
|
"role": "Frank's utility model",
|
|
"tagline": "HONOR GUIDE ME!",
|
|
"sfx": ["zealot-honor.ogg"],
|
|
"equiv": "Equivalent to last year's frontier level (2025).",
|
|
"spec": "Qwen3.5-9B-Uncensored (Q6_K) on an NVIDIA RTX 3090 — ~95 tokens/s; 200k-token context, two submissions at a time; sees images.",
|
|
"inputs": ["text", "image"],
|
|
"use": "Code editor autocomplete, agentic search, RAG, research subagents, translation, roleplay, and summarization. If your agent harness lets you set a compaction model, set this one: a compaction job on the bigger models blocks them for far longer.",
|
|
"voice": { "text": "I LONG FOR COMBAT!", "sfx": ["zealot-combat.ogg"] },
|
|
"supervision": "Requires tight human supervision.",
|
|
"warn": "Uncensored model: output can include adult content. You are responsible for the legal consequences of how you use it."
|
|
},
|
|
"url": "",
|
|
"docs": "/docs#models",
|
|
"probe": "127.0.0.1:7771",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "mariadb",
|
|
"category": "admin",
|
|
"section": "Infrastructure",
|
|
"description": "RomM's database (Dankserver). Not probeable from the monitor: 3306 is container-internal, and publishing a database port on the LAN is not a trade this fleet makes. RomM's own card covers the stack.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "192.168.0.235:3306",
|
|
"method": "tcp",
|
|
"wip": "closed",
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "valkey",
|
|
"category": "admin",
|
|
"section": "Infrastructure",
|
|
"description": "SearXNG's cache/limiter (Dankclaw). Not probeable: 6379 is container-internal. SearXNG's own card covers the stack.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:6379",
|
|
"method": "tcp",
|
|
"wip": "closed",
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "Prowlarr",
|
|
"category": "admin",
|
|
"section": "Media Library Apps",
|
|
"description": "Indexer manager.",
|
|
"url": "http://prowlarr.franksdank.cloud",
|
|
"docs": "",
|
|
"probe": "192.168.0.112:9696",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "Radarr",
|
|
"category": "admin",
|
|
"section": "Media Library Apps",
|
|
"description": "Movie library and automation.",
|
|
"url": "http://radarr.franksdank.cloud",
|
|
"docs": "",
|
|
"probe": "192.168.0.112:7878",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "Readarr",
|
|
"category": "admin",
|
|
"section": "Media Library Apps",
|
|
"description": "Book library and automation.",
|
|
"url": "http://readarr.franksdank.cloud",
|
|
"docs": "",
|
|
"probe": "192.168.0.112:8787",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "Lidarr",
|
|
"category": "admin",
|
|
"section": "Media Library Apps",
|
|
"description": "Music library and automation.",
|
|
"url": "http://lidarr.franksdank.cloud",
|
|
"docs": "",
|
|
"probe": "192.168.0.112:8686",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "qBittorrent",
|
|
"category": "admin",
|
|
"section": "Media Library Apps",
|
|
"description": "Torrent client.",
|
|
"url": "http://qbittorrent.franksdank.cloud",
|
|
"docs": "",
|
|
"probe": "192.168.0.112:8080",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "Tautulli",
|
|
"category": "admin",
|
|
"section": "Media Library Apps",
|
|
"description": "Plex statistics and notifications.",
|
|
"url": "http://192.168.0.235:8181",
|
|
"docs": "",
|
|
"probe": "192.168.0.235:8181",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "Postgres",
|
|
"category": "admin",
|
|
"section": "Infrastructure",
|
|
"description": "Authentik's and Gitea's databases (Dankclaw). Not probeable: 5432 is container-internal. Their apps' cards cover the stacks.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:5432",
|
|
"method": "tcp",
|
|
"wip": "closed",
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "ComfyUI",
|
|
"category": "admin",
|
|
"section": "AI",
|
|
"description": "Node-based image generation.",
|
|
"url": "http://comfyui.franksdank.cloud:8188",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:8188",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
}
|
|
]
|