build(sidecar): containerize + delete the Node prototype

- New sidecar/Dockerfile: multi-stage golang:1.25-alpine → distroless/
  static, ~12 MB final image, static CGO-free binary.
- Wire pp-sidecar into docker-compose.photoprism.yml so the whole
  stack (mariadb + photoprism + sidecar) starts with one
  `podman-compose up`. Container reaches mariadb + photoprism on the
  internal network; the host gets 127.0.0.1:8000 for Vite's proxy.
- New SIDECAR_LISTEN_ADDR env var (default 127.0.0.1 for the host-mode
  dev loop) so the container can bind 0.0.0.0:8000 and let the port
  mapping reach it. Without this the loopback bind was invisible to
  the host.
- Delete sidecar/legacy/server.mjs — the Node prototype's archival
  window is over; git history is its home now.
- Update sidecar/README with compose-first bringup; keep the host
  `go build` flow as the fast-iteration loop.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-17 17:23:36 +02:00
parent 032dce6c85
commit 4362e475a7
7 changed files with 113 additions and 852 deletions

13
sidecar/.dockerignore Normal file
View File

@@ -0,0 +1,13 @@
# Files that have no business shipping into the build context.
# Anything not listed here gets COPY'd into /src so keep this tight.
# Local host-mode build output — re-built inside the image.
mule-sidecar
# Runtime state from the M3 Node prototype.
data/
# Docs + git noise.
README.md
.git/
.gitignore