Files
obsidian-vault/000 daily/FAMILY Home Lab Console — Build Status.md

53 lines
3.4 KiB
Markdown

---
created: 2026-08-24
modified: 2026-08-24
type: note
tags:
- family
- home-lab
- portal
- build
aliases:
- Home Lab Console Build
---
# Home Lab Console — Build Status
Status of the [[FAMILY Enterprise Homelab AI Multimedia Suite. Systems Architecture & Blueprint|Home Lab]] console portal build. Authoritative plan: `/home/sam/home_network/custom_tools/family_home_lab/plan.md` (FINAL v3, approved). Design: `DESIGN.md` (Notion language — canvas `#f6f5f4`, primary `#0075de`, indigo login `#213183`).
## Where it runs
- **Host:** `.13` (192.168.20.13, nixos-desktop, Docker host)
- **Compose:** `/home/sam/Docker/Containers/family-home-lab/` (ported from repo)
- **Proxy/DNS:** existing Caddy on `.35`; public zone `*.lab.audasmedia.com.au` → router → `.35` → `.13`
- **Portal:** FastAPI + Jinja2 + HTMX, port `8500`, `console.lab.audasmedia.com.au`
## Repo-local code (written 2026-08-24, not yet deployed)
> **Update 2026-08-24 (deploy):** core stack **deployed and live** at https://console.lab.audasmedia.com.au (login → dashboard verified over public HTTPS). Garage up with buckets `sam, jo-media, harry, finn, shared-media`; portal key RW on all. Borg backup edit to `backup.nix` pending (needs sudo).
>
> (Original, below, now historical.)
- `portal/` — `main.py` (routes, first-run admin seed), `auth.py` (bcrypt + signed HTTP-only session cookies), `database.py` (SQLAlchemy async + pgvector/pg16), `tasks.py` (Celery + RabbitMQ), `tools.py` (per-user dsh URL), `config.py`, `Dockerfile`, `requirements.txt`
- `portal/templates/` (9 pages) + `portal/static/tokens.css` + `app.css`
- `docker-compose.yml` (postgres / redis / rabbitmq / garage / portal / worker; tool containers behind `profile: tools`), `garage/garage.toml`, `.env.example`, per-tool `README`s (image/video/audio/ai/docs/chat)
## Verified
- All modules compile; all 9 templates render; per-user sections + dsh link resolve; `docker compose config -q` valid.
## Deployment checklist (pending)
1. Local smoke test of login → dashboard flow.
2. Sync repo → `.13` at `/home/sam/Docker/Containers/family-home-lab/`; `docker compose up -d`.
3. Generate Garage tokens + create buckets `sam jo harry finn shared-media` + access keys (runbook in `deploy/DEPLOYMENT.md`).
4. Apply `deploy/caddy/Caddyfile.snippet` on `.35` and reload.
5. Add `/mnt/data/family-home-lab/` to `.13` Borg backup sources.
6. Enable tool containers (`--profile tools`) once images verified (plan §4).
## Deployment checklist (further)
1. ✅ Core stack up on `.13`; console URL live.
2. ✅ Garage buckets + portal access key provisioned (`jo` → `jo-media` per S3 name rules).
3. ✅ Caddy `console` + `photo`/`video`/`audio` rules applied & reloaded on `.35`; certs obtained.
4. ✅ **Media tools live**: Photopea (photo), KdenLive (video), Audacity (audio) — public URLs verified. Images: shtse8/photopea:1.0, lscr.io/linuxserver/kdenlive, lscr.io/linuxserver/audacity. Host ports video **8083** / audio **8084** (moved off airflow-8081 & NixOS-3000).
5. ⏳ Add `/mnt/data/family-home-lab/` to `.13` `backup.nix` (`services.borgbackup.jobs."local-to-storage".paths`) — needs sudo.
6. ⏳ DeepSeek Harness instances (dsh agent) — console already routes `dsh-{user}.lab.audasmedia.com.au`.
## Related
- [[FAMILY Enterprise Homelab AI Multimedia Suite. Systems Architecture & Blueprint]]
- [[FAMILY S3 Storage Integration & Blueprint]]
- [[FAMILY DeepSeek Harness (dsh) Home Lab Setup]]