Commit Graph

8 Commits

Author SHA1 Message Date
2609ab5286 dsh: offer the local .27 Ollama models in the chat model dropdown
The dropdown is built from the hardcoded MODEL_CHOICES list in app.py, not from
OmniRoute, so 'ollama/qwen2.5*' existed upstream but could never appear in DSH.

- add ollama/qwen2.5:14b and ollama/qwen2.5-coder:14b to MODEL_CHOICES + MODEL_LABELS
- labels note that Ollama must be started first, since it now boots off on .27
- docs/dsh-architecture.md: new section on model selection, incl. the rebuild
  requirement (app.py is baked into the image via COPY . .) and the ordering trap
  that a model can be live in OmniRoute yet invisible in DSH

Verified: /api/models lists both ids on 3081-3084, and real streamed replies come
back from both local models through DSH.
2026-10-12 17:05:25 +11:00
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
c9d09ac859 docs: add comprehensive technical architecture specs for DSH, Portal, and Host Ports 2026-10-10 10:18:00 +11:00
9d38d79abb Archify + README: add Whisper speech-to-text node (dsh -> whisper); maps republished 2026-09-12 09:04:29 +10:00
343bdac430 Console: add Lab Maps card -> maps.lab.audasmedia.com.au/family_home_lab/docs 2026-09-06 12:48:51 +10:00
e6df735f68 Archify: Family Home Lab architecture map (showcase HTML + JSON) 2026-09-06 12:04:47 +10:00
9b5293ffe7 Swap Photopea -> GIMP (lscr.io/linuxserver/gimp); remove broken photopea container/basic-auth on media tools 2026-08-26 14:50:44 +10:00
1110dbc978 Family Home Lab: portal, dsh (chat+plugins), transcriber, music/media tools, home dash 2026-08-26 11:30:34 +10:00