From 738be5dd557814efe7223225d0409d1dd7f7f150 Mon Sep 17 00:00:00 2001 From: Sam Rolfe Date: Wed, 9 Sep 2026 12:06:29 +1000 Subject: [PATCH] Add Family Home Lab overview (200 projects): what/how/tools/where + Mermaid + maps.lab link --- .../Tools Software WebUI/Family Home Lab.md | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 200 projects/Tools Software WebUI/Family Home Lab.md diff --git a/200 projects/Tools Software WebUI/Family Home Lab.md b/200 projects/Tools Software WebUI/Family Home Lab.md new file mode 100644 index 0000000..4f83fb2 --- /dev/null +++ b/200 projects/Tools Software WebUI/Family Home Lab.md @@ -0,0 +1,80 @@ +--- +created: 2026-09-09 11:55 +modified: 2026-09-09 12:00 +type: note +tags: + - family + - home-lab + - showcase + - project +aliases: + - Family Home Lab + - Home Lab Console +--- +# Family Home Lab + +A self-hosted **family console + tool lab** on our home network. One login at **https://console.lab.audasmedia.com.au** gives every household member a dashboard of ~40 self-hosted services, AI chat, a voice assistant, media tools and file sharing — all running on our own gear. + +**Interactive architecture map:** [maps.lab → Family Home Lab](https://maps.lab.audasmedia.com.au/family_home_lab/docs/family-home-lab-map.html) + +## What it is +- **Console portal** — per-user logins (sam/jo/harry/finn), searchable home-dash tool cards, admin area (users, passwords, live Pi-dashboard), Files upload, dark mode. +- **AI chat (dsh)** — a private per-user chat (chat/reasoning/coding + multimodal GLM), with conversation memory, web/doc summarise, image ingest & generate, and video screen analysis. Hardened: read-only filesystem, no shell. +- **Voice assistant (Jervis)** — a local LLM voice agent: talk to it or type on the Voice page — it controls Home Assistant (lights/switches), shopping list, weather, timers, reminders, character voices. +- **Media tools** — GIMP (edit), KdenLive (video), Audacity (audio), LMMS (music) — all browser-based. +- **Transcriber** — turn audio **or video** into MIDI (Basic Pitch) or sheet music (MuScriptor). +- **Storage** — Garage S3 object storage + a shared media folder; offsite Amazon S3 backups. + +## How to use it +1. Go to **console.lab.audasmedia.com.au** and log in. +2. **Dashboard** — every service is a card, grouped and searchable; kids get a reduced view, admins see everything. +3. **Files** — upload from your browser; it appears in the media tools (~/media) and you can view/download/delete. +4. **Chat** — pick a model (chat / reasoning / coding / multimodal), attach images, summarise a page or file, generate an image, or analyze a screen recording. +5. **Voice** — type a command (lights, weather, shopping, timers) and Jervis answers and speaks. +6. **Admin** — add/rename users, change passwords, watch live agent sessions. + +## Architecture +```mermaid +flowchart LR + U[Family browsers / phones] -->|https *.lab| C[Caddy :35] + C -->|console.lab| P[Console portal FastAPI :13:8500] + C -->|dsh-*.lab| D[dsh chat x4 SSE] + C -->|media/apps.lab| A[Media + ~40 apps] + P -->|SQL| DB[(Postgres+Redis)] + P -->|transcribe| W[Celery workers + RabbitMQ] + D -->|LLM| OR[OmniRoute :20129] + OR -->|chat/reasoning/coding| OC[opencode-go / deepseek] + D -->|vision/video| OL[OpenRouter GPT-5 · GLM-5v] + P -->|Files/S3| G[(Garage S3 + shared-media)] + G -.->|Borg| BACK[(Amazon S3 offsite)] + U -->|Voice page| V[Jervis voice agent :8501] + V -->|HA REST/MQTT| HA[Home Assistant] +``` + +## Where things live +| Area | Location | +|---|---| +| Source & Gitea | `/home/sam/home_network/custom_tools/family_home_lab` → `sam/family_home_lab` | +| Portal stack | `.13` Docker compose `/home/sam/Docker/Containers/family-home-lab` | +| dsh chat | `.13` `/home/sam/Docker/Containers/dsh` | +| Voice agent (Jervis) | `.13` `:8501` (NixOS systemd) | +| Data | `/mnt/data/family-home-lab/` (Garage, shared-media, dsh, pi-dashboard) — Borg-backed | +| Proxy/DNS | Caddy on `.35`; public `*.lab.audasmedia.com.au`, LAN-only `*.home.lab` | +| Maps site | `maps.lab.audasmedia.com.au` (published Archify maps) | +| Tasks / Docs | Vikunja "Family Home Lab" project · Outline "Family Home Lab" collection | + +## Tools used +- **Web/portal** — FastAPI · Jinja2 · HTMX · Postgres · Redis · Celery/RabbitMQ · boto3 · docker compose +- **AI** — OmniRoute (LLM gateway) · OpenRouter (vision/image) · DeepSeek/opencode-go · GLM-5v · Basic Pitch · MuScriptor · piper TTS +- **Apps/services** — Garage S3 · Caddy · Gitea · Vikunja · Outline · Home Assistant · Metube · Jellyfin · Nextcloud · Immich (+ more) +- **Infra** — NixOS (.13/.27) · Ubuntu (.35) · pi agent · systemd · RustDesk · Borg + +## Config notes for future maintenance (no secrets) +- LLM routing: chat/reasoning/coding go through **OmniRoute** on `.13:20129` as **pinned deterministic model ids** (skip the flaky `auto/*` pools); vision/image/video go through **OpenRouter**. +- Secrets live only in `.env` files (git-ignored) and the machine secrets store — never commit. +- Deploy an edit: push to Gitea → rsync/scp to `.13` → `docker compose up -d --build `; Caddy edits on `.35`. +- Maps: after any `archify deliver`, run `publish-maps.sh` to update maps.lab. + +## Related +- Human deep-dive: [[FAMILY CONSOLE]] (360 Dev-Ops Network Computers) +- [[Home Network Map Overview]] · [[Docker Containers]] · [[Websites on Nixos-Dekstop 13]]