All in-repo path references (AGENTS.md, README, old scripts, report artifacts,
test code paths) rewritten in the same commit; focused-test map extended for
.gitignore, old/scripts/*, dankclaw/comfyui/*, and report/* per this repo's
own convention ('add one before committing'). Obsidian wikilinks are
title-based and unaffected.
64 lines
3.0 KiB
Markdown
64 lines
3.0 KiB
Markdown
# Server App Configs
|
|
|
|
The single repository for the two homelab servers: the Podman container
|
|
stacks **and** the LLM inference fleet. One repo, one checkout per host,
|
|
one deploy script.
|
|
|
|
> 2026-08-22: the former `vllmScripts` repository (LLM fleet) is merged
|
|
> into this repo with its full git history. See AGENTS.md for the merge
|
|
> note.
|
|
|
|
## Targets
|
|
|
|
| Host | User | IP | Podman stack | LLM service | LLM port |
|
|
|------|------|----|--------------|-------------|----------|
|
|
| dankserver | dank | 192.168.0.235 | media and library | frank-default-small (llama.cpp, Qwen3.6-35B-A3B) | 7770 |
|
|
| dankclaw | dank | 192.168.0.143 | AI, search, development, observability | frank-default-large (CIRU ROCmFPX, Qwen3.8-27B) | 7770 |
|
|
|
|
## 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 |
|
|
| frank-default-small | dankserver | — (bare endpoint) | 7770 |
|
|
| 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 |
|
|
| frank-default-large | dankclaw | — (bare endpoint) | 7770 |
|
|
|
|
## Structure
|
|
|
|
- `dankserver/` — compose.yaml + Caddyfile + .env.example for the Dankserver stack
|
|
- `dankclaw/` — compose.yaml + Caddyfile + .env.example for the Dankclaw stack
|
|
- `shared/` — homepage, prometheus config, deploy helpers
|
|
- `scripts/` — `deploy.sh` and `deploy-remote.sh` (service-scoped deployment), the planner, LLM serve scripts, systemd units, env tunables, and bench harnesses
|
|
- `old/` — retired PP/NPU-era LLM scripts (reference only)
|
|
- `serverAppConfigs-docs/` — project knowledge base (Obsidian vault, wikilinks). `serverAppConfigs-docs/LLM/` is the LLM fleet
|
|
- `tests/` — bats test suite (see [[Testing Policy]])
|
|
|
|
## Deployment
|
|
|
|
See [serverAppConfigs-docs/Architecture/Deployment Flow.md](serverAppConfigs-docs/Architecture/Deployment%20Flow.md)
|
|
and [serverAppConfigs-docs/LLM/deployment.md](serverAppConfigs-docs/LLM/deployment.md). Run
|
|
`./scripts/deploy.sh <dankclaw|dankserver>` after committing changes. It
|
|
plans and deploys only the changed services. Use `--service NAME` for an
|
|
explicit single-service retry; inference is restarted only when its own files
|
|
(or the shared chat template) changed.
|
|
|
|
## Knowledge Base
|
|
|
|
The `serverAppConfigs-docs/` directory is an Obsidian vault. Start at
|
|
[serverAppConfigs-docs/index.md](serverAppConfigs-docs/index.md). The LLM fleet knowledge base lives at
|
|
[serverAppConfigs-docs/LLM/index.md](serverAppConfigs-docs/LLM/index.md).
|
|
|
|
## Testing
|
|
|
|
Run `./tests/run.sh` before every push. See
|
|
[serverAppConfigs-docs/Architecture/Testing Policy.md](serverAppConfigs-docs/Architecture/Testing%20Policy.md).
|