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
a661fb3b2e
feat(ollama): add Ollama local LLM (.27) card & remote SSH control to service-controller
2026-10-12 14:12:30 +11:00
c9d09ac859
docs: add comprehensive technical architecture specs for DSH, Portal, and Host Ports
2026-10-10 10:18:00 +11:00
a639824fd0
fix(portal): fix card layout ejection bug & sync top-right status dot with live service state
2026-10-08 21:56:42 +11:00
24227c527a
ON/OFF: WorldMonitor group toggle — controller supports multi-target groups (aggregate state, one switch for 4 containers), console card wired (admin), partial-state pill
2026-10-08 21:41:54 +11:00
0ce1b6e6ba
console: admin ON/OFF cards (Paperclip, Prefect worker, Photo Pipeline — admin-only toggle strips) + failed-state dozzle log link on media cards; per-user toggle gating verified (finn: media only, 403 on admin)
2026-10-08 21:18:37 +11:00
a73087ba02
env.example: fix SC_TOKEN appended mid-line
2026-10-08 19:11:10 +11:00
85827be3be
ON_OFF Phase 0-3: service-controller (.13:8443, token-gated, containers+systemd-user, audit log) + portal toggle cards (live status, per-user who, failed token, RAM) — full E2E verified
2026-10-08 19:10:45 +11:00
bb2c6e5d0d
ON_OFF: record all decisions (per-user toggles, n8n/paperclip/prefect, bounded audit, python controller, MAX_RES done); revise 4.6 with verified compose-project audit
2026-10-07 16:22:13 +11:00
b37c5a5134
lmms: clamp MAX_RES to 2560x1440 — drops Xvfb virtual screen from 15360x8640 (~506MB/plane) to ~14MB/plane (~984MB freed)
2026-10-07 15:12:02 +11:00
e02e5712d2
console: add always-visible back-to-top button + collapsible dashboard panels (per-section, persisted)
2026-10-07 15:06:22 +11:00
6f32301540
console: add Paseo (multi-agent orchestration GUI) + Paperclip (agent harness manager) cards to AI Tools section
2026-09-26 17:36:33 +10:00
134fb233bc
dsh: honor explicit 'ask/hey jervis' addressing in home gate (direct target = route to Jervis)
2026-09-20 07:05:07 +10:00
1535e14c6f
dsh: Option 1 gateway — home-shaped chat requests (announce, HA, shopping, calendar, music, messaging) route raw to Jervis; normal chat untouched
2026-09-20 06:55:04 +10:00
1d3e2b6ab7
dsh: speak tool — announce over house speakers via Jervis (function-calling gate, zero latency for normal chat)
2026-09-19 16:53:24 +10:00
438445115f
dsh: add direct DeepSeek provider routes to picker (creds now active)
2026-09-15 14:38:36 +10:00
882ffdb631
dsh: rename conversations, live model in header, swap to OmniRoute auto/* routes (opencode-go dropped - no creds/burn); direct deepseek routes dead
2026-09-15 14:21:28 +10:00
9d38d79abb
Archify + README: add Whisper speech-to-text node (dsh -> whisper); maps republished
2026-09-12 09:04:29 +10:00
67a3e12c00
dsh: convert any audio/video (m4a/mp3/mp4/aac) to WAV via ffmpeg before whisper; verified m4a + mp3 transcribe
2026-09-12 08:53:45 +10:00
3d1a068c3b
dsh: add Transcribe audio (whisper) + Ask with a file tools, workspace download route, OmniRoute x-opencode-session fix, regrouped toolbar
2026-09-12 08:45:24 +10:00
a71059ac1e
Remove Langfuse card (service removed)
2026-09-08 09:31:15 +10:00
1345216551
Map links -> direct family-home-lab-map.html (README + console card)
2026-09-06 19:26:22 +10:00
7fae0c4cbc
README: add Architecture Mermaid diagram + link to interactive maps.lab
2026-09-06 18:38:43 +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
afcc0a1e20
Garage UI -> garage-ui.lab; add AWS S3 Console backup card
2026-09-05 09:02:04 +10:00
584320b999
Offsite card -> S3 status dashboard; Garage card renamed Garage UI (with File Browser)
2026-09-05 08:53:56 +10:00
ae135138e1
Console: remove KitchenOwl card; add Metube + Outline cards
2026-09-04 14:19:02 +10:00
6ccba43b37
Transcriber: video accept, delete buttons, live status spinner; Files: delete button
2026-09-03 20:49:52 +10:00
f46975ae32
Transcriber: accept video uploads (mp4/mov/webm/mkv) -> ffmpeg-extract audio -> MIDI; ffmpeg in workers
2026-09-03 19:47:37 +10:00
04a3aeb712
dsh dark: fix bubbles/buttons/inputs (app.css vars + dark scrollbar)
2026-09-03 13:26:57 +10:00
485319812c
Dark mode: portal (tokens/toggle) + dsh chat (vars + toggle)
2026-09-03 12:32:55 +10:00
4cf702cd5f
Voice: update 'Things Jervis can do' list (full capabilities)
2026-09-01 18:01:17 +10:00
4036c1cb35
Voice: multiline textarea input + Clear button
2026-09-01 14:21:16 +10:00
e0558e91b4
Login: password show/hide eye toggle
2026-09-01 12:47:42 +10:00
29dd6904cc
Add Offsite Backup (Amazon S3) card for sam/admin -> offsite.lab.audasmedia.com.au
2026-08-31 09:43:14 +10:00
c6c9588d65
Voice assistant: immediate working/waiting spinner on Send
2026-08-30 15:22:31 +10:00
7cfeeaf000
Voice page: example commands + character voices (Donald/Hal/Mech Warrior/Ryan); Snapcast card -> working http IP
2026-08-30 15:08:00 +10:00
d68f6a4304
Console Voice Assistant (Jervis): text prompt box -> local LLM agent (/voice proxies to .13:8501)
2026-08-30 14:55:39 +10:00
a347aefdff
dsh: multiline textarea + Send below; collapsible Model & tools panel; tidy todo.txt
2026-08-30 12:11:02 +10:00
273e173359
dsh: add GLM-5v to model picker; image-attach routes to selected vision model (direct, no ffmpeg)
2026-08-28 14:37:08 +10:00
0853139f5f
dsh: multimodal video/screen-recording analyzer (GLM-5v + ffmpeg frames); fix File/UploadFile imports + ffmpeg in image
2026-08-28 13:33:32 +10:00
22e61676a0
Nextcloud card -> public nextcloud.lab (was nextcloud.home.lab)
2026-08-26 22:17:07 +10:00
dba59d71a7
dsh: pin models to reliable OmniRoute providers (chat=opencode-go flash, reasoning=deepseek flash, coding=deepseek pro) + friendly labels
2026-08-26 21:59:49 +10:00
08e43b700a
dsh: clear no-response feedback; remove broken best-reasoning; default to best-fast (OmniRoute streaming flaky)
2026-08-26 21:34:58 +10:00
cc35cbb6a3
Mobile responsiveness: console nav wraps/hides name; dsh sidebar drawer + stacked tools + 16px input
2026-08-26 21:18:44 +10:00
728f18b1ec
Files list: name on own line under the row, ellipsis-truncated to box width
2026-08-26 15:45:29 +10:00
77cdf738ec
Files page: icon buttons (eye=view, arrow=download); filenames wrap fully
2026-08-26 15:36:22 +10:00
188e9a0dd6
Files page: thumbnails + view + download (email access to finished work)
2026-08-26 15:30:15 +10:00
1cc159ef80
Console Files upload page -> shared-media (visible in GIMP); GIMP /media rw
2026-08-26 15:18:46 +10:00