Fanned out 5 read-only doc-auditor subagents (one per service group) that fact-checked the knowledge base against the live system + repo config, researched official setup docs online, and verified progress. Applied: - All 34 broken links fixed (real pages / external URLs / correct relative paths); 0 broken links remain. No .AGENTTRASH links (the 4 mentions are accurate descriptive text, not links). - Fact-check fixes: Readarr retired (May 2026), Radarr v4->v6, Calibre 9.2.1 live, Calibre-Web 0.6.25 live, Copyparty v1.20.21, LLM index ncmoe 38 + 786432 ctx, frank-default-small active (not frank-pp-worker), Hermes/SearXNG/Grafana hostnames, Loki/Alloy local images, Observability diagram (Promtail->Alloy), VLLM retired note, DFlash status, benchmark live-drift notes, Homepage test count 116.
52 lines
1.6 KiB
Markdown
52 lines
1.6 KiB
Markdown
# Loki
|
|
|
|
Loki is the log aggregation backend of the observability stack. It stores and queries container and system logs, and it feeds the log panels in Grafana. It replaces the need for a full ELK stack.
|
|
|
|
**Host:** Dankclaw — **Docs:** https://grafana.com/docs/loki/latest
|
|
|
|
## Facts (from research)
|
|
|
|
| Item | Value |
|
|
|------|-------|
|
|
| Image | `franksdank/loki:latest` (local build with a static busybox healthcheck) |
|
|
| Port | 3100 (host) → 3100 (container) |
|
|
| Mode | single-binary (all components in one process) |
|
|
| Storage | filesystem (bind mount) |
|
|
| Auth | `auth_enabled: false` (single-tenant homelab) |
|
|
| Schema | v13 / TSDB |
|
|
|
|
## Configuration
|
|
|
|
Config lives at `shared/loki/loki-config.yaml`. Key settings:
|
|
|
|
- `schema_config` v13 with `store: tsdb` and filesystem object store.
|
|
- `compactor` with `retention_enabled: true` so logs do not grow without bound.
|
|
- `replication_factor: 1` for a single instance.
|
|
|
|
## Volumes
|
|
|
|
| Container path | Host path (convention) |
|
|
|----------------|------------------------|
|
|
| `/loki` | `/opt/loki/data` |
|
|
| `/etc/loki/loki-config.yaml` | `shared/loki/loki-config.yaml` (bind mount) |
|
|
|
|
## Healthcheck
|
|
|
|
Loki responds on `/ready` with 200.
|
|
|
|
## Log Shipping
|
|
|
|
The [[Alloy]] agent on each host ships container and journal logs to Loki. Grafana queries Loki through the datasource in [[Observability]].
|
|
|
|
## Gotchas
|
|
|
|
- Filesystem storage grows; enable compactor retention.
|
|
- Loki and Promtail/Alloy must agree on the push URL: `http://loki:3100/loki/api/v1/push`.
|
|
- For multi-host shipping, Loki's HTTP listener binds `0.0.0.0`.
|
|
|
|
## See Also
|
|
|
|
- [[Observability]]
|
|
- [[Alloy]] — the log shipper
|
|
- [[Grafana]] — the query frontend
|