fix: mavwaked is a client binary, not a docker daemon
- Revert Dockerfile: no mavwaked build, no alsa-utils runtime dep - Revert .dockerignore: no /mavwaked entry - PROGRESS.md: deploy note says systemd user unit on a client box (desk PC, pi), connects to mavend over wg or local net — never on the homesrv or in docker
This commit is contained in:
@@ -13,7 +13,6 @@ certs
|
|||||||
/mavpoll
|
/mavpoll
|
||||||
/mavcaldav
|
/mavcaldav
|
||||||
/mavenclient
|
/mavenclient
|
||||||
/mavwaked
|
|
||||||
|
|
||||||
# heavy deps we don't need in context. We keep only the prebuilt runtime libs
|
# heavy deps we don't need in context. We keep only the prebuilt runtime libs
|
||||||
# (deps/lib, deps/piper) and the headers the CGO build needs.
|
# (deps/lib, deps/piper) and the headers the CGO build needs.
|
||||||
|
|||||||
+2
-3
@@ -44,15 +44,14 @@ RUN go build -o /out/mavend ./cmd/mavend && \
|
|||||||
go build -o /out/mavttsd ./cmd/mavttsd && \
|
go build -o /out/mavttsd ./cmd/mavttsd && \
|
||||||
go build -o /out/mavweb ./cmd/mavweb && \
|
go build -o /out/mavweb ./cmd/mavweb && \
|
||||||
go build -o /out/mavpoll ./cmd/mavpoll && \
|
go build -o /out/mavpoll ./cmd/mavpoll && \
|
||||||
go build -o /out/mavcaldav ./cmd/mavcaldav && \
|
go build -o /out/mavcaldav ./cmd/mavcaldav
|
||||||
go build -o /out/mavwaked ./cmd/mavwaked
|
|
||||||
|
|
||||||
FROM debian:trixie-slim AS runtime
|
FROM debian:trixie-slim AS runtime
|
||||||
# tzdata so the TZ env (set in compose) resolves — otherwise Go can't load the
|
# tzdata so the TZ env (set in compose) resolves — otherwise Go can't load the
|
||||||
# zone and time.Now() stays UTC, and mavend answers clock/date queries and
|
# zone and time.Now() stays UTC, and mavend answers clock/date queries and
|
||||||
# evaluates quiet-hours in UTC.
|
# evaluates quiet-hours in UTC.
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
ca-certificates libvulkan1 mesa-vulkan-drivers libgomp1 tzdata alsa-utils && \
|
ca-certificates libvulkan1 mesa-vulkan-drivers libgomp1 tzdata && \
|
||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# runtime native libs: whisper/ggml (incl. vulkan) are real files in deps/lib.
|
# runtime native libs: whisper/ggml (incl. vulkan) are real files in deps/lib.
|
||||||
|
|||||||
+8
-8
@@ -88,10 +88,9 @@ tests, `-race` in `make test`.
|
|||||||
on the **desk PC** (hypridle-gated systemd timer), posts over wg to mavweb.
|
on the **desk PC** (hypridle-gated systemd timer), posts over wg to mavweb.
|
||||||
- **Kuma `service_down`** — needs an API key created in Kuma → Settings → API Keys,
|
- **Kuma `service_down`** — needs an API key created in Kuma → Settings → API Keys,
|
||||||
passed to `mavpoll -kuma-key`.
|
passed to `mavpoll -kuma-key`.
|
||||||
- **`mavwaked`** (always-on listening) — needs a docker-compose service entry
|
- **`mavwaked`** (always-on listening) — needs a systemd user unit on a client
|
||||||
with audio device passthrough (`/dev/snd` + `group_add: audio` on the container,
|
box (desk PC, pi, etc.) where the mic is attached. Connects to mavend over wg
|
||||||
or run as a systemd unit on the host for lower ALSA latency). Deferred until
|
or local net via `-addr`. Deferred until a client box is wired with a mic.
|
||||||
the USB mic is on the homesrv and tested.
|
|
||||||
|
|
||||||
Caveats / gotchas:
|
Caveats / gotchas:
|
||||||
- **desk_active is a workstation deploy, not code** — 0 facts ever written; presence
|
- **desk_active is a workstation deploy, not code** — 0 facts ever written; presence
|
||||||
@@ -123,7 +122,8 @@ Since then (**2026-07-06, second session**):
|
|||||||
(L0 — no destructive acts). Reply plays through aplay(1). No wake word yet
|
(L0 — no destructive acts). Reply plays through aplay(1). No wake word yet
|
||||||
(pure VAD trigger); the 30ms frame shape matches silero-vad ONNX input 1:1,
|
(pure VAD trigger); the 30ms frame shape matches silero-vad ONNX input 1:1,
|
||||||
so swapping energy-threshold for ONNX inference is a local change in vad.go.
|
so swapping energy-threshold for ONNX inference is a local change in vad.go.
|
||||||
`Makefile` `build-waked` target; Docker image includes `alsa-utils` + binary.
|
`Makefile` `build-waked` target. Runs on client boxes (not docker/homesrv)
|
||||||
|
via systemd user unit; connects to mavend over wg or local net.
|
||||||
|
|
||||||
- **Calendar querying (task 3)** — "что у меня завтра?" now answers from the
|
- **Calendar querying (task 3)** — "что у меня завтра?" now answers from the
|
||||||
CalDAV facts the poller already writes. Added `store.CalendarEvents(from,to)`,
|
CalDAV facts the poller already writes. Added `store.CalendarEvents(from,to)`,
|
||||||
@@ -257,9 +257,9 @@ first — these define the category:
|
|||||||
(L0). Gap narrowed: no wake word yet (pure voice-activity trigger; every
|
(L0). Gap narrowed: no wake word yet (pure voice-activity trigger; every
|
||||||
utterance fires). The 30ms frame shape and 16kHz PCM match silero-vad's
|
utterance fires). The 30ms frame shape and 16kHz PCM match silero-vad's
|
||||||
ONNX input exactly, so a wake-word model swap is a local change in vad.go.
|
ONNX input exactly, so a wake-word model swap is a local change in vad.go.
|
||||||
Hardware: needs a mic on the always-on box (USB mic on homesrv or the desk
|
Hardware: the mic lives on a client box (desk PC, pi, etc.) — never the
|
||||||
PC). Builds and tests; deploy action pending (docker-compose service + audio
|
homesrv. Deploy action: systemd user unit on whichever box has the mic,
|
||||||
device passthrough).
|
connects to mavend over wg or local net.
|
||||||
2. **Conversation is thin, not absent.** The router still classifies one
|
2. **Conversation is thin, not absent.** The router still classifies one
|
||||||
utterance → one reply and there's no anaphora resolution or LLM-driven
|
utterance → one reply and there's no anaphora resolution or LLM-driven
|
||||||
dialogue. But `internal/dialogue` is now **wired** (jul6 task 6 + follow-up):
|
dialogue. But `internal/dialogue` is now **wired** (jul6 task 6 + follow-up):
|
||||||
|
|||||||
Reference in New Issue
Block a user