Files
family_home_lab/docs
Sam Rolfe d7802bddb1 fix(ollama): toggle the NixOS system service on .27, not the deleted user unit
The ollama card was wired to 'systemctl --user', but the .27 user unit was
removed when Ollama moved to services.ollama (NixOS system service). The panel
therefore reported Stopped while the service was Running and its buttons failed.

- new controller kind 'systemd-system' -> sudo -n <canonical systemctl> ...
- resolve systemctl to its store path first: NixOS puts a symlink on PATH but
  the NOPASSWD sudoers rule names the store path, so bare 'sudo systemctl' does
  not match (verified: full path exit=0, bare name 'a password is required')
- _remote() now shlex.join()s the remote command; ssh joins trailing argv with
  spaces, which was word-splitting the 'sh -c' wrapper and failing with a sudo
  usage error
- services.toml: ollama -> kind=systemd-system, target=ollama (matches the
  sudoers rule verbatim), default_state=running
- docs/portal-architecture.md: document the three controller kinds + gotchas

Verified end-to-end from .13: start->running, stop->stopped, start->running,
real systemctl agrees, and /v1/models lists both qwen2.5 models over the LAN.
2026-10-12 16:29:10 +11:00
..

Family Home Lab Technical Documentation

This directory contains architectural specifications, component manuals, integration tables, and network registries for the Family Home Lab ecosystem.

Core Technical Reference Specs

  • DeepSeek Harness (DSH) Architecture: Multi-instance chat engine, per-user container allocation (sam, jo, harry, finn), ports (3081–3084), JSON session persistence, multi-model routing table (OmniRoute, OpenRouter, Whisper, Jervis Voice Agent), CSP framing, and API endpoints.

  • Console Portal Architecture: FastAPI application spec, user database schema, access control entitlement flags (can_chat, can_image, can_audio, can_docs), tool catalogue structure (tools.py), host-side service-controller bridge, ON/OFF RAM management, and Garage S3 file integration.

  • Host Network & Port Registry: Single source of truth network topology and port allocations across hosts .13 (containers/models), .35 (Caddy/Gitea/Outline), .27 (dev workstation), and .51.


Component Plans & Features