docs: add full homelab documentation structure
This commit is contained in:
106
docs/planning/HOMELAB_EXPANSION_PLAN.md
Normal file
106
docs/planning/HOMELAB_EXPANSION_PLAN.md
Normal file
@@ -0,0 +1,106 @@
|
||||
# Homelab Expansion Plan
|
||||
|
||||
## Deployment Order
|
||||
1. **Gotify** — unified notification bus, unblocks all n8n workflows
|
||||
2. **Qdrant** — vector DB, unblocks proper RAG pipeline
|
||||
3. **n8n** — automation backbone, ties everything together
|
||||
4. **Paperless-NGX** — document intelligence
|
||||
5. **Home Assistant** — home automation layer
|
||||
6. **Grafana + Prometheus** — unified observability
|
||||
|
||||
---
|
||||
|
||||
## Phase 1 — Notifications (Gotify)
|
||||
**Host:** PlausibleDeniability
|
||||
**Stack:** `/mnt/docker-ssd/docker/compose/automation/`
|
||||
**Storage:** appdata on SSD (SQLite backend)
|
||||
**Network:** pangolin (expose as `gotify.paccoco.com`)
|
||||
|
||||
Single output target for all n8n workflows and homelab alerts.
|
||||
|
||||
---
|
||||
|
||||
## Phase 2 — Vector Database (Qdrant)
|
||||
**Host:** PlausibleDeniability
|
||||
**Stack:** `/mnt/docker-ssd/docker/compose/ai/`
|
||||
**Storage:** appdata on SSD
|
||||
|
||||
Feed it: homelab markdown docs, Gitea commit history, Plex/Tautulli metadata, Obsidian notes.
|
||||
|
||||
---
|
||||
|
||||
## Phase 3 — Workflow Automation (n8n)
|
||||
**Host:** PlausibleDeniability
|
||||
**Stack:** `/mnt/docker-ssd/docker/compose/automation/`
|
||||
**Storage:** config on tank, Postgres backend
|
||||
**Network:** pangolin (`n8n.paccoco.com`) + ix-databases_shared-databases
|
||||
|
||||
### Planned Workflows
|
||||
- Sonarr/Radarr webhook → Discord + Gotify notification with poster art
|
||||
- Tautulli play start → log to Postgres
|
||||
- Nightly watch history → Ollama → weekly digest via Gotify
|
||||
- Poll Uptime Kuma → cross-reference Netdata → rich alert via Gotify
|
||||
- Gitea commit to truenas-stacks → Gotify notification with Ollama summary
|
||||
- qBittorrent torrent complete → trigger Sonarr/Radarr rescan
|
||||
- KitchenOwl grocery list change → shopping list via Gotify
|
||||
- Donetick task due → Gotify reminder
|
||||
- Long and Low Crafts order → Donetick task + Gotify DM
|
||||
|
||||
---
|
||||
|
||||
## Phase 4 — Document Intelligence (Paperless-NGX)
|
||||
**Host:** PlausibleDeniability
|
||||
**Network:** pangolin (`paperless.paccoco.com`) + ix-databases_shared-databases
|
||||
|
||||
OCR and full-text search. Key for Long and Low Crafts invoices, receipts, and manuals.
|
||||
|
||||
---
|
||||
|
||||
## Phase 5 — Home Automation (Home Assistant)
|
||||
**Host:** PlausibleDeniability or N.O.M.A.D.
|
||||
**Storage:** config on SSD (SQLite, write-heavy)
|
||||
**Network:** host networking recommended for device discovery
|
||||
|
||||
---
|
||||
|
||||
## Phase 6 — Observability (Grafana + Prometheus)
|
||||
**Host:** N.O.M.A.D.
|
||||
**Storage:** Prometheus data on hdd-1 or hdd-2
|
||||
|
||||
Metrics to scrape: ZFS pool health, container CPU/RAM, Plex streams, qBittorrent, Tailscale latency, Netdata endpoints.
|
||||
|
||||
---
|
||||
|
||||
## Multi-Model Routing Strategy
|
||||
|
||||
| Machine | GPU | Model | Use Case |
|
||||
|---|---|---|---|
|
||||
| ROCINANTE | RTX 4090 (24GB) | qwen3:32b / deepseek-r1:32b | Heavy reasoning, long context |
|
||||
| PlausibleDeniability | RTX 2080 Ti (11GB) | qwen2.5:14b | General homelab assistant, RAG |
|
||||
| N.O.M.A.D. | GTX 1080 (8GB) | phi4 / llama3.2:3b | Fast local inference |
|
||||
|
||||
---
|
||||
|
||||
## Additional Tools
|
||||
- **Continue.dev** — VS Code plugin, local Copilot alternative
|
||||
- **Obsidian + Gitea Sync** — personal notes → RAG pipeline
|
||||
- **Homepage Ollama Widget** — VRAM usage dashboard widget
|
||||
- **kima-hub** — self-hosted Spotify alternative
|
||||
- **dispatcharr** — planned
|
||||
- **bytestash** — planned
|
||||
|
||||
---
|
||||
|
||||
## Target Architecture
|
||||
|
||||
```
|
||||
Triggers (Sonarr, Radarr, Tautulli, Gitea, Home Assistant, schedules, email)
|
||||
↓
|
||||
n8n (routing, logic, orchestration)
|
||||
↓
|
||||
Ollama (intelligence — model selected by complexity)
|
||||
↓ ↑
|
||||
Qdrant (semantic context retrieval)
|
||||
↓
|
||||
Outputs (Gotify → phone, Donetick tasks, Postgres logging, Discord)
|
||||
```
|
||||
Reference in New Issue
Block a user