# Linux test environment for scripts/test-all.sh (the production services run on Linux).
FROM docker.io/library/node:22-bookworm-slim AS node
FROM docker.io/library/golang:1.26-bookworm AS go

FROM docker.io/library/python:3.12-slim-bookworm
RUN apt-get update \
 && apt-get install -y --no-install-recommends ffmpeg \
 && rm -rf /var/lib/apt/lists/*
RUN pip install --no-cache-dir Pillow av
COPY --from=node /usr/local/bin/node /usr/local/bin/node
COPY --from=go /usr/local/go /usr/local/go
# The checkout is mounted read-only; Go keeps its caches outside it.
ENV PATH=/usr/local/go/bin:$PATH GOCACHE=/tmp/go-cache GOMODCACHE=/tmp/go-mod GOFLAGS=-mod=readonly LAB_SKIP_FRONTEND=1
WORKDIR /src
CMD ["scripts/test-all.sh"]
