[ { "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 Uncensored, ik_llama.cpp) on Dankclaw.", "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": "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 } ]