frank-large has no /metrics to scrape any more, and scraping it would be red by construction: the halogen engine publishes /health, /cache and /v1/* only. That job is removed with the reason written down (the remedy is the blackbox exporter this fleet already wants for the comfyui/services probes), and frank-small's llama.cpp endpoint takes the slot at 192.168.0.143:7771. Homepage: frank-large's card still described the ik runtime, and the new endpoint had no card at all. Both fixed, with a loopback probe -- the checker runs on Dankclaw, which is also what makes the card green-able. Dashboard: the endpoint picker was sourced from a vLLM-only metric, so a llama.cpp job could never be selected, and the prose named frank-large as the llama.cpp endpoint. The picker now matches both runtimes' series and the llama.cpp targets carry the job filter every other panel already used. The seams assert the new contract including the ABSENCE of a 7770 target, so a well-meaning edit cannot re-add a permanently-red probe.
355 lines
8.4 KiB
JSON
355 lines
8.4 KiB
JSON
[
|
|
{
|
|
"name": "SearXNG",
|
|
"category": "user",
|
|
"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",
|
|
"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",
|
|
"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",
|
|
"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",
|
|
"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",
|
|
"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",
|
|
"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",
|
|
"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",
|
|
"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",
|
|
"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",
|
|
"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",
|
|
"description": "The agent gateway.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:8787",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "Grafana",
|
|
"category": "admin",
|
|
"description": "Dashboards.",
|
|
"url": "http://grafana.franksdank.cloud",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:3002",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "Prometheus",
|
|
"category": "admin",
|
|
"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",
|
|
"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",
|
|
"description": "Host metrics.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:9100",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "alloy",
|
|
"category": "admin",
|
|
"description": "Log shipping.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:12345",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "Caddy",
|
|
"category": "admin",
|
|
"description": "The reverse proxy.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:80",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "dnsmasq",
|
|
"category": "admin",
|
|
"description": "LAN name resolution.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:53",
|
|
"method": "tcp",
|
|
"wip": false,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "Gluetun",
|
|
"category": "admin",
|
|
"description": "The outbound VPN tunnel.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:51820",
|
|
"method": "tcp",
|
|
"wip": true,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "frank-large",
|
|
"category": "admin",
|
|
"description": "The large LLM (Qwen3.8-Flash-Next w4b, halogen-flash-server on the Strix Halo iGPU). Two 200k-token conversations resident.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:7770",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "frank-medium",
|
|
"category": "admin",
|
|
"description": "The medium LLM (Qwen3.8-27B Uncensored MXFP4, vllm-radiance) on Dankserver — two R9700s behind one :7770 endpoint.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "192.168.0.235:7770",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "frank-small",
|
|
"category": "admin",
|
|
"description": "The small LLM (Qwen3.8-27B GSQ-RCO IQ3_S with MTP and vision, llama.cpp) on Dankclaw's RTX 3090. The fleet's image path.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:7771",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "mariadb",
|
|
"category": "admin",
|
|
"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": true,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "valkey",
|
|
"category": "admin",
|
|
"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": true,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "Prowlarr",
|
|
"category": "admin",
|
|
"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",
|
|
"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",
|
|
"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",
|
|
"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",
|
|
"description": "Torrent client.",
|
|
"url": "http://qbittorrent.franksdank.cloud",
|
|
"docs": "",
|
|
"probe": "192.168.0.112:8080",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": true
|
|
},
|
|
{
|
|
"name": "Postgres",
|
|
"category": "admin",
|
|
"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": true,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "ComfyUI",
|
|
"category": "admin",
|
|
"description": "Node-based image generation.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:8188",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": false
|
|
}
|
|
]
|