# @napi-rs/canvas ships prebuilt N-API binaries, so no cairo/build toolchain is # needed — a slim image is enough. FROM node:20-bookworm-slim RUN apt-get update && apt-get install -y --no-install-recommends \ tzdata ca-certificates \ && rm -rf /var/lib/apt/lists/* ENV TZ=Europe/Amsterdam WORKDIR /app COPY package.json ./ RUN npm install --omit=dev COPY src ./src COPY assets ./assets COPY config ./config COPY deploy ./deploy # config/ and state/ are bind-mounted at runtime so edits don't need a rebuild. ENTRYPOINT ["node", "src/index.js"]