FROM mcr.microsoft.com/playwright/javascript:v1.58.2-noble WORKDIR /app COPY package.json package-lock.json* ./ RUN npm ci --production 2>/dev/null || npm install --production COPY src/ ./src/ # Create cache directory owned by pwuser (default user in playwright image) RUN mkdir -p /app/cache && chown -R pwuser:pwuser /app/cache EXPOSE 3001 3002 USER pwuser CMD ["node", "src/index.js"]