FROM node:20-bookworm-slim AS build
WORKDIR /app
COPY package.json ./
# isolated-vm needs a build toolchain
RUN apt-get update && apt-get install -y --no-install-recommends \
        python3 make g++ \
    && npm install --omit=dev \
    && apt-get purge -y python3 make g++ && apt-get autoremove -y \
    && rm -rf /var/lib/apt/lists/*
COPY src ./src

FROM node:20-bookworm-slim
WORKDIR /app
COPY --from=build /app /app
ENV NODE_ENV=production
EXPOSE 3401
USER node
CMD ["node", "src/index.js"]
