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:
root
2026-05-09 11:13:05 -05:00
parent 6c19f82a0a
commit d6eafe0989
6 changed files with 300 additions and 309 deletions

View File

@@ -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 2Vector Database (Qdrant)
**Host:** PlausibleDeniability
**Stack:** `/mnt/docker-ssd/docker/compose/ai/`
**Storage:** appdata on SSD
## Phase 1Notifications & 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 3Workflow 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 2AI 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 4Document Intelligence (Paperless-NGX)
**Host:** PlausibleDeniability
**Network:** pangolin (`paperless.paccoco.com`) + ix-databases_shared-databases
## Phase 3Workflow 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 5Home 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 4Document & 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 6Observability (Grafana + Prometheus)
**Host:** N.O.M.A.D.
**Storage:** Prometheus data on hdd-1 or hdd-2
## Phase 5Home 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)
```