Phase 1 of the local-DNS-name work. Users type a name, not a port. - dnsmasq quadlet on dankclaw (rootless, slirp4netns, port 53 published): serves the flat name scheme from addn-hosts, upstream 1.1.1.1/1.0.0.1. Image built from the in-repo Containerfile (localhost/dnsmasq:latest). - Caddyfiles (both hosts): all *.dankclaw.local / *.dankserver.local vhosts renamed to flat <service>.franksdank.cloud. Explicit http:// site addresses for now; TLS (wildcard LE via DNS-01/Porkbun) lands in phase 2. - Drift reconciliation (live /etc/caddy/Caddyfile on dankserver differs from the repo): added the live-only llms.franksdank.cloud vhost (OpenWebUI on :3000). Dropped the legacy search vhost from dankserver (the name belongs to dankclaw's gluetun-routed SearXNG; the legacy instance stays reachable at 192.168.0.235:8081). - Homepage service links updated to the new names. - New test seams (TDD): tests/dnsmasq.bats (quadlet boot-persistence, port 53, conf/record validity, Caddyfile<->addn-hosts cross-check on the right host IPs); caddyfile.bats naming-convention tests updated. LAN clients get this DNS from the SURFboard G36 (DNS Relay -> statically configured -> 192.168.0.143); the router change is a pending user step.
60 lines
1.8 KiB
JSON
60 lines
1.8 KiB
JSON
{
|
|
"host": "dankclaw",
|
|
"services": [
|
|
{
|
|
"name": "Homepage",
|
|
"url": "/",
|
|
"description": "This page. Password-protected service index.",
|
|
"docs": "docs/Infrastructure/Homepage.md"
|
|
},
|
|
{
|
|
"name": "SearXNG",
|
|
"url": "http://search.franksdank.cloud",
|
|
"description": "Privacy-respecting metasearch engine (through Gluetun VPN).",
|
|
"docs": "docs/Dankclaw/SearXNG.md"
|
|
},
|
|
{
|
|
"name": "ComfyUI",
|
|
"url": "http://comfyui.franksdank.cloud",
|
|
"description": "Node-based AI image generation (CPU backend on Strix Halo).",
|
|
"docs": "docs/Dankclaw/ComfyUI.md"
|
|
},
|
|
{
|
|
"name": "OpenWebUI",
|
|
"url": "http://chat.franksdank.cloud",
|
|
"description": "Chat interface for local LLMs (llama.cpp on :7770).",
|
|
"docs": "docs/Dankclaw/OpenWebUI.md"
|
|
},
|
|
{
|
|
"name": "Hermes",
|
|
"url": "http://hermes.franksdank.cloud",
|
|
"description": "Self-improving AI agent (Nous Research).",
|
|
"docs": "docs/Dankclaw/Hermes.md"
|
|
},
|
|
{
|
|
"name": "Gitea",
|
|
"url": "http://gitea.franksdank.cloud",
|
|
"description": "Self-hosted Git service with issues and PRs.",
|
|
"docs": "docs/Dankclaw/Gitea.md"
|
|
},
|
|
{
|
|
"name": "Grafana",
|
|
"url": "http://grafana.franksdank.cloud",
|
|
"description": "Dashboards for metrics and logs.",
|
|
"docs": "docs/Infrastructure/Grafana.md"
|
|
},
|
|
{
|
|
"name": "Prometheus",
|
|
"url": "http://prometheus.franksdank.cloud",
|
|
"description": "Metrics collection for the whole stack.",
|
|
"docs": "docs/Infrastructure/Prometheus.md"
|
|
},
|
|
{
|
|
"name": "Loki",
|
|
"url": "http://loki.franksdank.cloud",
|
|
"description": "Log storage and query backend.",
|
|
"docs": "docs/Infrastructure/Loki.md"
|
|
}
|
|
]
|
|
}
|