docs: update all documentation to reflect deployed state (2026-05-09)
- docs/README.md: add full documentation index (was empty) - docs/servers/ROCINANTE.md: create new server doc (RTX 4090, heavy inference) - docs/servers/SERENITY.md: fix CPU spec (dual X5690, not single); add reranker service - docs/architecture/SERVICES_DIRECTORY.md: fill in all service ports (was all dashes) - docs/architecture/ARCHITECTURE_OVERVIEW.md: mark all services as deployed - docs/planning/HOMELAB_EXPANSION_PLAN.md: mark all 6 phases complete
This commit is contained in:
@@ -1,106 +1,81 @@
|
||||
# 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
|
||||
**Status: All 6 phases complete as of 2026-05-06.**
|
||||
|
||||
---
|
||||
|
||||
## 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`)
|
||||
## Summary
|
||||
|
||||
Single output target for all n8n workflows and homelab alerts.
|
||||
| Phase | Description | Status | Completed |
|
||||
|-------|-------------|--------|-----------|
|
||||
| 1 | Notifications & Alerting | ✅ Complete | 2026-05-05 |
|
||||
| 2 | AI Stack | ✅ Complete | 2026-05-05 |
|
||||
| 3 | Workflow Automation | ✅ Complete | 2026-05-05 |
|
||||
| 4 | Document & Knowledge Management | ✅ Complete | 2026-05-05 |
|
||||
| 5 | Home Automation | ✅ Complete | 2026-05-06 |
|
||||
| 6 | Observability | ✅ Complete | 2026-05-06 |
|
||||
|
||||
---
|
||||
|
||||
## Phase 2 — Vector Database (Qdrant)
|
||||
**Host:** PlausibleDeniability
|
||||
**Stack:** `/mnt/docker-ssd/docker/compose/ai/`
|
||||
**Storage:** appdata on SSD
|
||||
## Phase 1 — Notifications & Alerting ✅ COMPLETE
|
||||
|
||||
Feed it: homelab markdown docs, Gitea commit history, Plex/Tautulli metadata, Obsidian notes.
|
||||
**Goal:** Centralized push notifications for all services.
|
||||
|
||||
- **Gotify** deployed on PD (port 8443)
|
||||
- Integrated with Uptime Kuma, n8n, and Home Assistant
|
||||
- TLS via reverse proxy
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
## Phase 2 — AI Stack ✅ COMPLETE
|
||||
|
||||
### 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
|
||||
**Goal:** Self-hosted LLM inference with RAG and web search.
|
||||
|
||||
- **LiteLLM** (4000) — unified proxy to Ollama tiers (N.O.M.A.D. light, Rocinante heavy)
|
||||
- **OpenWebUI** (8282) — chat UI with RAG, STT, and web search
|
||||
- **Qdrant** (6333/6334) — vector store for RAG
|
||||
- **Whisper** (8786) — CUDA speech-to-text on RTX 2080 Ti
|
||||
- **SearXNG** (8888) — private search backend
|
||||
- **Reranker** — TEI bge-reranker-v2-m3; initially on PD (8787), moved to Serenity (9787) on 2026-05-09
|
||||
|
||||
---
|
||||
|
||||
## Phase 4 — Document Intelligence (Paperless-NGX)
|
||||
**Host:** PlausibleDeniability
|
||||
**Network:** pangolin (`paperless.paccoco.com`) + ix-databases_shared-databases
|
||||
## Phase 3 — Workflow Automation ✅ COMPLETE
|
||||
|
||||
OCR and full-text search. Key for Long and Low Crafts invoices, receipts, and manuals.
|
||||
**Goal:** Event-driven automation across all services.
|
||||
|
||||
- **n8n** (5678) deployed on PD
|
||||
- Connected to Gotify, Home Assistant, Paperless, and Immich
|
||||
- Shared Postgres + Redis via `ix-databases_shared-databases` network
|
||||
|
||||
---
|
||||
|
||||
## 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 4 — Document & Knowledge Management ✅ COMPLETE
|
||||
|
||||
**Goal:** Paperless document ingestion and local knowledge base.
|
||||
|
||||
- **Paperless-NGX** (8083) deployed on PD
|
||||
- OCR pipeline with automatic tagging
|
||||
- Documents stored on Serenity NFS
|
||||
|
||||
---
|
||||
|
||||
## Phase 6 — Observability (Grafana + Prometheus)
|
||||
**Host:** N.O.M.A.D.
|
||||
**Storage:** Prometheus data on hdd-1 or hdd-2
|
||||
## Phase 5 — Home Automation ✅ COMPLETE
|
||||
|
||||
Metrics to scrape: ZFS pool health, container CPU/RAM, Plex streams, qBittorrent, Tailscale latency, Netdata endpoints.
|
||||
**Goal:** Unified smart home control and local-first IoT.
|
||||
|
||||
- **Home Assistant** (8123) deployed on PD
|
||||
- **Kima Hub** (3333) — custom IoT gateway
|
||||
- Integrated with n8n for automations and Gotify for push alerts
|
||||
|
||||
---
|
||||
|
||||
## Multi-Model Routing Strategy
|
||||
## Phase 6 — Observability ✅ COMPLETE
|
||||
|
||||
| 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 |
|
||||
**Goal:** Full metrics collection and dashboards.
|
||||
|
||||
- **Prometheus** (9090) — scrapes all services and Docker stats
|
||||
- **Grafana** (3000) — dashboards for system health, Docker, and AI usage
|
||||
- **MeshMonitor** (8081) — network mesh visibility
|
||||
|
||||
---
|
||||
|
||||
## 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