Files
serverAppConfigs/shared/homepage/services.json
T
Frank 0c5e054fb8 frank-small: SGLang MiMo-V2.6-Distill-Qwen-9B INT8 (qwen3_5 hybrid, RTX 3090)
Replaces llama.cpp Gemma4-12B-QAT (payload + binary retained as rollback).
SGLang in a self-contained python3.12 venv with an extracted CUDA 13.0
nvcc toolchain for the sgl-kernel/flashinfer JIT.

Shape: fp8 KV, pinned 606,208-token pool / 4 x 151,552 slots, bf16 mamba
states pinned at 32 slots (the engine autofills the ssm pool to a fixed
~5.1 GB regardless of dtype), eager prefill (no headroom for graph
capture), no spec decode (the checkpoint ships no mtp.* tensors despite
mtp_num_hidden_layers=1 — NEXTN drafts with an uninitialised 4.24 GiB
ghost at 0% acceptance).

Verified: 83.9 tok/s decode, 170k single prompt, 4 concurrent 54k
requests, vision (in-checkpoint tower), reasoning_content field.
2026-10-01 06:55:48 -07:00

438 lines
11 KiB
JSON

[
{
"name": "SearXNG",
"category": "user",
"section": "Web Apps",
"description": "AI-free, VPN-routed search engine, fully hosted on Frank's server.",
"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.",
"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.",
"url": "http://books.franksdank.cloud",
"docs": "",
"probe": "192.168.0.235:8083",
"method": "http",
"wip": false,
"showLink": true
},
{
"name": "RomM",
"category": "user",
"section": "Media Library Apps",
"description": "ROM and emulator library.",
"url": "http://romm.franksdank.cloud",
"docs": "",
"probe": "192.168.0.235:8085",
"method": "http",
"wip": false,
"showLink": true
},
{
"name": "Copyparty",
"category": "user",
"section": "Web Apps",
"description": "Direct downloads from Frank's server.",
"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.",
"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.",
"url": "http://jelly.franksdank.cloud",
"docs": "",
"probe": "192.168.0.235:8096",
"method": "http",
"wip": false,
"showLink": true
},
{
"name": "Seerr",
"category": "user",
"section": "Media Library Apps",
"description": "Download Requests",
"url": "http://seerr.franksdank.cloud",
"docs": "",
"probe": "127.0.0.1:5055",
"method": "http",
"wip": false,
"showLink": true
},
{
"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-large",
"category": "user",
"section": "AI",
"details": {
"role": "Deep reasoning model",
"spec": "Qwen3.8-27B (UD-Q8_K_XL, 31.5 GiB) — 262k-token context, one conversation at a time, text only.",
"inputs": ["text"],
"use": "Cybersecurity and debugging. Requires Frank's permission."
},
"url": "",
"docs": "/docs#models",
"probe": "127.0.0.1:7770",
"method": "http",
"wip": false,
"showLink": false
},
{
"name": "frank-primary",
"category": "user",
"section": "AI",
"details": {
"role": "Primary model",
"spec": "Qwen3.8-Flash-Next (Q8_0, 175.3 GiB) — full 262k-token context, one conversation; sees images. Spec-drafted (MTP + n-gram) on both R9700s.",
"inputs": ["text", "image"],
"use": "Software engineering, system administration, and instruction tasks."
},
"url": "",
"docs": "/docs#models",
"probe": "192.168.0.235:7770",
"method": "http",
"wip": false,
"showLink": false
},
{
"name": "frank-small",
"category": "user",
"section": "AI",
"details": {
"role": "Fast utility model",
"spec": "MiMo-V2.6-Distill-Qwen-9B (INT8 W8A16, 12 GiB) on SGLang — 606k-token pool across four 151k-token conversations; 84 tok/s decode; sees images.",
"inputs": ["text", "image"],
"use": "Agentic search, RAG, research subagents, translation, roleplay, and summarization — any small task that doesn't need much intelligence."
},
"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
}
]