FROM ghcr.io/puppeteer/puppeteer:latest

WORKDIR /app

COPY package*.json ./
RUN npm ci --omit=dev

COPY . .

ENV XDG_CONFIG_HOME=/tmp/.chromium
ENV XDG_CACHE_HOME=/tmp/.chromium

RUN mkdir -p /tmp/.chromium && chown -R pptruser:pptruser /tmp/.chromium

# ensure cookies dir exists
RUN mkdir -p /app/cookies && chown -R pptruser:pptruser /app/cookies

USER pptruser

EXPOSE 4000

# ensure browser binaries installed
RUN npx puppeteer browsers install chrome

CMD ["npm", "start"]
