b4f1043b1a19d9a169dc2ac92af32d74f7215441
Rootless podman cannot bind ports below 1024 by default, so gitea-caddy (publishes 80/443) crash-looped (13,000+ restarts). Fix: one-time sysctl net.ipv4.ip_unprivileged_port_start=80, persisted in /etc/sysctl.d/99-rootless-ports.conf. Applied 2026-08-18.
Server App Configs
Podman deployment configuration for two homelab servers: Dankserver and Dankclaw.
Targets
| Host | User | IP | Stack |
|---|---|---|---|
| dankclaw | dank | 192.168.0.143 | AI, search, development, observability |
| dankserver | dank | 192.168.0.235 | media and library |
Active Services
| Service | Host | Hostname | Port |
|---|---|---|---|
| RomM | dankserver | romm.dankserver.local | 8085 |
| Copyparty | dankserver | files.dankserver.local | 3923 |
| Calibre-Web | dankserver | books.dankserver.local | 8083 |
| SearXNG | dankclaw | search.dankclaw.local | 8081 |
| ComfyUI | dankclaw | comfyui.dankclaw.local | 8188 |
| OpenWebUI | dankclaw | chat.dankclaw.local | 3000 |
| Hermes | dankclaw | hermes.dankclaw.local | 8090 |
| Gitea | dankclaw | gitea.dankclaw.local | 3001 |
| Grafana | dankclaw | grafana.dankclaw.local | 3002 |
| Prometheus | dankclaw | prometheus.dankclaw.local | 9090 |
Structure
dankserver/— compose.yaml + Caddyfile + .env.example for the Dankserver stackdankclaw/— compose.yaml + Caddyfile + .env.example for the Dankclaw stackshared/— homepage, prometheus config, deploy helpersscripts/— deploy.sh and stack control scriptsdocs/— project knowledge base (Obsidian vault, wikilinks)tests/— bats test suite (see Testing Policy)
Deployment
See [docs/Architecture/Deployment Flow.md](docs/Architecture/Deployment Flow.md). Run ./scripts/deploy.sh <dankclaw|dankserver> after pushing committed changes.
Knowledge Base
The docs/ directory is an Obsidian vault. Start at docs/index.md.
Testing
Run ./tests/run.sh before every push. See [docs/Architecture/Testing Policy.md](docs/Architecture/Testing Policy.md).
Also See
- vllmScripts (local:
../vllmScripts) — the model-serving scripts this stack consumes:frank-default-large(llama.cpp PP head,:7770, backend of OpenWebUI) andfrank-default-small(FastFlowLM NPU,:52625)
Languages
Shell
60.4%
Python
21%
HTML
6.2%
Jinja
3.9%
C++
3.9%
Other
4.6%