- Dankserver stack: RomM, Copyparty, Calibre-Web, node-exporter - Dankclaw stack: Gluetun VPN (SearXNG tunnel), SearXNG+Valkey, ComfyUI (CPU backend), OpenWebUI, Hermes, Gitea+Postgres (migrated), Caddy reverse proxy, Grafana+Prometheus+Loki+Alloy observability - Caddyfiles with .local hostname convention and basicauth homepage - bind-mount storage policy, no named volumes - deploy.sh mirroring vllmScripts git workflow (push -> pull -> restart -> health) - docs/ Obsidian vault: per-service docs from frank-default-small research subagents (promtail EOL -> Alloy; gitea SECRET_KEY preservation; ComfyUI --cpu) - bats test suite at 6 seams — 22 tests green
1.6 KiB
1.6 KiB
Homepage
A password-protected homepage on each host lists the services that are up, with a short description of each and a link to both the service and its documentation.
Served by: Caddy, file_server + basicauth — Docs: n/a (static page in this repo)
Purpose
- One landing page per host instead of a bookmark folder.
- Shows at a glance which services are currently up and active.
- Answers "what is this?" for every service with a one-line description.
- Links to the service and to this repo's docs page for that service.
Layout
shared/
└── homepage/
├── index.html # the page, shared logic, per-host service list injected
├── style.css
└── services.json # service list: name, hostname, port, description, docs link
The page fetches services.json and pings each service's health endpoint (or the proxy hostname) to set an up/down badge. It is static; the status check runs in the browser via fetch.
Auth
Caddy wraps the homepage with HTTP basic auth:
dankclaw.local {
basicauth {
dank $2a$14$HASH
}
root * /srv/homepage
file_server
}
Generate the hash with caddy hash-password at deploy time. Do not commit the hash or the password.
Service Entry Format
{
"name": "SearXNG",
"hostname": "http://search.dankclaw.local",
"description": "Privacy-respecting metasearch engine.",
"docs": "/docs/Dankclaw/SearXNG.md"
}
See Also
- Caddy — the proxy that serves it
- Dankclaw Stack, Dankserver Stack — the services it lists