diff --git a/docker/Dockerfile.rust b/docker/Dockerfile.rust index 9afa77a5..8418ac03 100644 --- a/docker/Dockerfile.rust +++ b/docker/Dockerfile.rust @@ -19,9 +19,13 @@ COPY vendor/ruvector/ /build/vendor/ruvector/ # (ADR-115) is wired in (auto-discovery topics flow to Home Assistant) # - cog-ha-matter, the ADR-116 Cognitum cog that wraps HA-DISCO + # HA-MIND + mDNS + embedded broker for Home Assistant / Matter +# - homecore-server, the ADRs-126-134 HOMECORE native Rust port of +# Home Assistant (HA-wire-compat REST + WebSocket on :8123, +# SQLite + ruvector recorder, automation, assist, plugins, HAP) RUN cargo build --release -p wifi-densepose-sensing-server --features mqtt 2>&1 \ && cargo build --release -p cog-ha-matter 2>&1 \ - && strip target/release/sensing-server target/release/cog-ha-matter + && cargo build --release -p homecore-server 2>&1 \ + && strip target/release/sensing-server target/release/cog-ha-matter target/release/homecore-server # Stage 2: Runtime FROM debian:bookworm-slim @@ -35,6 +39,7 @@ WORKDIR /app # Copy binaries COPY --from=builder /build/target/release/sensing-server /app/sensing-server COPY --from=builder /build/target/release/cog-ha-matter /app/cog-ha-matter +COPY --from=builder /build/target/release/homecore-server /app/homecore-server # Copy UI assets COPY ui/ /app/ui/ @@ -52,6 +57,7 @@ RUN set -e; \ done; \ test -x /app/sensing-server || { echo "FATAL: /app/sensing-server is not executable"; exit 1; }; \ test -x /app/cog-ha-matter || { echo "FATAL: /app/cog-ha-matter is not executable"; exit 1; }; \ + test -x /app/homecore-server || { echo "FATAL: /app/homecore-server is not executable"; exit 1; }; \ echo "image assets OK" # Optional bearer-token auth on /api/v1/*: leave unset for LAN-mode (default), @@ -67,6 +73,8 @@ EXPOSE 3001 EXPOSE 5005/udp # MQTT broker (cog-ha-matter embedded broker — Home Assistant + Matter) EXPOSE 1883 +# HOMECORE HA-compatible REST + WebSocket (homecore-server) +EXPOSE 8123 ENV RUST_LOG=info diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh index 428c2e13..e0851137 100755 --- a/docker/docker-entrypoint.sh +++ b/docker/docker-entrypoint.sh @@ -28,6 +28,14 @@ case "${1:-}" in --sensing-url "${SENSING_URL:-http://127.0.0.1:3000}" \ "$@" ;; + homecore|homecore-server) + # Route to the HOMECORE native Rust port of Home Assistant + # (ADRs 126-134, v0.10.0). Default bind matches HA at :8123. + shift + exec /app/homecore-server \ + --bind "${HOMECORE_BIND:-0.0.0.0:8123}" \ + "$@" + ;; esac # If the first argument looks like a flag (starts with -), prepend the