FROM node:20-bookworm-slim

# Chromium + fonts for Puppeteer (PDF-Export) and nice handwriting fonts in the export
RUN apt-get update && apt-get install -y --no-install-recommends \
    chromium \
    fonts-liberation \
    fonts-noto-color-emoji \
    ca-certificates \
    wget \
    && rm -rf /var/lib/apt/lists/*

ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \
    PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium \
    NODE_ENV=production

WORKDIR /app

COPY backend/package.json ./
RUN npm install --omit=dev

COPY backend/ .

RUN mkdir -p /data/friends
VOLUME ["/data"]

EXPOSE 3000

CMD ["node", "server.js"]
