53 lines
3.4 KiB
Markdown
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]] |