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.
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-sideservice-controllerbridge, 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
- Audio Plan: MIDI transcription (Basic Pitch) and sheet music generation (MuScriptor).
- DSH Plugins Shortlist: Curated index of DeepSeek Harness extension plugins.
- DSH Plugin Plan: Roadmap for integrating summary and media plugins into DSH.
- Websites & Services Inventory: Catalogue of public domains and upstream destinations.
- Interactive Architecture Map: Visual HTML component map.