FROM node:18-alpine WORKDIR /app # Install Chromium, fonts, and dependencies for Puppeteer RUN apk add --no-cache \ wget \ chromium \ nss \ freetype \ harfbuzz \ ca-certificates \ ttf-freefont \ font-noto-emoji # Tell Puppeteer to use the installed Chromium ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true # Copy package files COPY package*.json ./ # Install dependencies RUN npm install --omit=dev # Copy application files COPY . . # Create data directory for SQLite database RUN mkdir -p /app/data # Expose port EXPOSE 5000 # Start the application CMD ["node", "server.js"]