FROM mcr.microsoft.com/playwright:v1.64.0-noble@sha256:06a9939e57531807f8d5fd76ce44b53165ffb7d7501d87ab10e285c20b1e971f
WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends tini=0.19.0-1 && rm -rf /var/lib/apt/lists/*
COPY package.json package-lock.json ./
RUN npm ci --omit=dev --ignore-scripts && npm cache clean --force
COPY src ./src
COPY fixtures ./fixtures
COPY client ./client
COPY --chmod=0555 tools/chromium-launcher.py ./tools/chromium-launcher.py
RUN mkdir /data && chown pwuser:pwuser /data
USER pwuser
ENV HOST=127.0.0.1 PORT=8080 DATA_DIR=/data EXECUTION_LOCATION=container MAX_CONCURRENCY=1
EXPOSE 8080
STOPSIGNAL SIGTERM
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
CMD ["node", "src/server.mjs"]
