# Homelab TODO ## Security (do ASAP) - [ ] Regenerate Wings token on N.O.M.A.D. (was exposed in chat) - [ ] Regenerate N.O.M.A.D. Newt secret (was exposed in chat) ## Infrastructure - [ ] Deploy Pi-hole 3-node HA cluster (PD + Serenity + RPi4) — see docs/planning/DEPLOY_PIHOLE.md - RPi4 IP still TBD — fill in before deploying - [ ] Deploy Kima-Hub — see docs/planning/DEPLOY_KIMA_HUB.md - [ ] Set up off-site backup for vital data (appdata, databases, config repo, photos) - [ ] Remove dead Unraid-Cloudflared-Tunnel container from Serenity - [ ] Serenity malcolm pool capacity planning (heavily utilized) - [ ] Add Pangolin resource for `ai.paccoco.com` → OpenWebUI (port 8282) - [ ] Add Cloudflare DNS A record for `ai.paccoco.com` - [ ] Install fresh editor on PD - [ ] Set up private Gitea repo for .env file backups ## AI Stack - [ ] Pull `qwen2.5:14b` on PD ollama: `sudo docker exec -it ollama ollama pull qwen2.5:14b` - [ ] Create OpenWebUI account and set system prompt from HOMELAB_AI_CONTEXT.md - [ ] Disable signups in OpenWebUI after creating account - [ ] Connect Rocinante Ollama to OpenWebUI (Admin → Settings → Connections) - [ ] Confirm `OLLAMA_HOST=0.0.0.0` set on Rocinante and Ollama service restarted ## Healthchecks - [ ] Add healthcheck to ix-plex-plex-1 - [ ] Add healthcheck to ix-tailscale-tailscale-1 - [ ] Add healthcheck to ix-newt-newt-1 - [ ] Add healthcheck to ollama (no curl/wget — needs /proc/net/tcp6 or custom solution) - [ ] Document and add healthchecks for meshtastic stack ## Documentation - [ ] Document meshtastic stack fully (see docs/reference/MESHTASTIC.md) - [x] Document N.O.M.A.D. Docker/container audit (compose-managed, Project N.O.M.A.D.-managed, unmanaged, and Pelican/Wings-managed containers) — 2026-05-14 - [x] Decide which services should run on NOMAD, which should not, and whether each should live under raw compose, Project N.O.M.A.D.-managed state, systemd, or another more explicit deployment model — 2026-05-14 - Project N.O.M.A.D.-managed app containers are explicitly hands-off and stay exactly as-is. - `whisper` and `node-exporter` may be removed; exact runtime was documented in `docs/servers/NOMAD.md` for emergency rebuild. - Pelican/Wings-managed game containers stay and are documented as permanent game-server infrastructure on NOMAD. ## n8n Workflows - [ ] Create Gotify apps and n8n credentials: Reminders, n8n Health, Uptime / Infra - [ ] Add remaining env vars to n8n docker-compose + .env: `PAPERLESS_API_TOKEN`, `PAPERLESS_TAG_TRANSCRIPTION`, `PAPERLESS_TAG_LECTURE_NOTES`, `N8N_API_KEY` (see n8n-workflows/README.md for docker-compose.yaml changes required) - [ ] Set up `PD SSH` credential in n8n for workflow 16 (see n8n-workflows/README.md) - [ ] Add sudoers NOPASSWD rule for n8n watchdog (see n8n-workflows/README.md) - [ ] Import and activate upgraded workflows: 04, 08 (01 done — v1.4 active and tested) - [ ] Import and activate new workflows: 14, 15 (16 already active) - [ ] Configure class profiles + Paperless metadata mapping for current courses (ENGL-1010, HIST-2020, future classes) - [x] Delete legacy duplicate Paperless notes for school docs 42–49 after approval / with proper token context — completed 2026-05-14; docs now each have one canonical note - [ ] Set up DB and Docker backups to Serenity following homelab SOP ## Completed - [x] Deploy Gotify (Phase 1) — 2026-05-05 - [x] Deploy AI stack — LiteLLM, OpenWebUI, Qdrant, Whisper, SearXNG (Phase 2) — 2026-05-05 - [x] Deploy n8n (Phase 3) — 2026-05-05 - [x] Deploy Paperless-NGX (Phase 4) — 2026-05-05 - [x] Deploy Home Assistant + Kima Hub (Phase 5) — 2026-05-06 - [x] Deploy Grafana + Prometheus (Phase 6) — 2026-05-06 - [x] Move reranker from PD (8787) to Serenity (9787) — 2026-05-09 - [x] Fill in port/URL columns in SERVICES_DIRECTORY.md — 2026-05-09 - [x] Create ROCINANTE.md server doc — 2026-05-09 - [x] Update all docs to reflect deployed state — 2026-05-09 - [x] Write n8n workflow upgrade + new workflow plans (01, 04, 08, 14, 15, 16) — 2026-05-09 - [x] Write Pi-hole 3-node HA deployment plan — 2026-05-09 - [x] Write Kima-Hub deployment plan — 2026-05-09 - [x] Create Postgres dedup tables (grafana_alert_dedup, n8n_health_dedup) in n8n_rss DB on PD — 2026-05-09 - [x] Workflow 01 fully tested end-to-end (dedup, LiteLLM, Gotify) — v1.4 active — 2026-05-09 - [x] Add LITELLM_API_KEY + N8N_BLOCK_ENV_ACCESS_IN_NODE to n8n docker-compose — 2026-05-09 - [x] Build Telegram chat-driven school-work intake for Paperless using shared Postgres, deterministic `intake_id`, and class/version metadata — 2026-05-14