feat: initialize serverAppConfigs with podman stacks for Dankserver and Dankclaw
- 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
This commit is contained in:
commit
e3eb5334cb
57 files changed
+3033
No files matched your search
@@ -0,0 +1,56 @@
|
||||
# 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
|
||||
|
||||
```json
|
||||
{
|
||||
"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
|
||||
Reference in new issue
Block a user