FROM node:20-slim

WORKDIR /app

COPY package.json package-lock.json ./
RUN npm install

# Install Chromium for Lighthouse
RUN apt-get update && \
    apt-get install -y wget ca-certificates fonts-liberation libappindicator3-1 libasound2 libatk-bridge2.0-0 libatk1.0-0 libcups2 libdbus-1-3 libgdk-pixbuf2.0-0 libnspr4 libnss3 libx11-xcb1 libxcomposite1 libxdamage1 libxrandr2 xdg-utils chromium && \
    ln -s /usr/bin/chromium /usr/bin/chromium-browser

COPY . .

RUN npm install -g typescript

RUN tsc

EXPOSE 5001

CMD ["node", "dist/express-worker.js"]
