- services.json: frank-large/medium/small move from admin-only to the user page with current descriptions (halogen w4b iGPU; 35:30 layer-split MTP 27B on the R9700s; Gemma4-12B QAT vision path on the 3090) and docs links to /docs#models - docs.html: static user documentation (access chain, model guide, media how-tos, troubleshooting); served at /docs via the post-auth homepage listener; shipped by deploy_homepage; footer + index link to it - tests: pages seam asserts the docs contract (page, link, Caddy route, deployer copy) - vault: Homepage.md synced (docs landing shipped, cards reclassified)
366 lines
8.8 KiB
JSON
366 lines
8.8 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": "alertmanager",
|
|
"category": "admin",
|
|
"description": "Alert delivery to Signal.",
|
|
"url": "",
|
|
"docs": "",
|
|
"probe": "127.0.0.1:9093",
|
|
"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": "user",
|
|
"description": "The big brain. Qwen3.8-Flash-Next w4b on halogen-flash-server, running on Dankclaw's Strix Halo iGPU. Text-only; holds two 200k-token conversations resident.",
|
|
"url": "",
|
|
"docs": "/docs#models",
|
|
"probe": "127.0.0.1:7770",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "frank-medium",
|
|
"category": "user",
|
|
"description": "The 27B generalist. ajgazin Swift-Qwen3.8-27B-Uncensored at UD-Q8_K_XL with its own MTP head, mainline llama.cpp in one 35:30 layer-split process across Dankserver's two R9700s, 393k-token context.",
|
|
"url": "",
|
|
"docs": "/docs#models",
|
|
"probe": "192.168.0.235:7770",
|
|
"method": "http",
|
|
"wip": false,
|
|
"showLink": false
|
|
},
|
|
{
|
|
"name": "frank-small",
|
|
"category": "user",
|
|
"description": "The vision path. HauhauCS Gemma4-12B QAT (Balanced, Q4_K_M) with MTP + ngram spec-decode on Dankclaw's RTX 3090. Sees images; 1M-token pool across four conversations.",
|
|
"url": "",
|
|
"docs": "/docs#models",
|
|
"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
|
|
}
|
|
]
|