Pred / Dockerfile
Reaperxxxx's picture
Update Dockerfile
0216d6e verified
# Use an official Node.js runtime as a base image
FROM node:18-bullseye
# Set working directory inside the container
WORKDIR /app
# Install system dependencies required for Playwright
RUN apt-get update && apt-get install -y \
wget \
curl \
unzip \
fonts-liberation \
libasound2 \
libatk-bridge2.0-0 \
libatk1.0-0 \
libcups2 \
libdbus-1-3 \
libgbm-dev \
libnspr4 \
libnss3 \
libxcomposite1 \
libxdamage1 \
libxfixes3 \
libxrandr2 \
xdg-utils \
libu2f-udev \
libvulkan1 \
xvfb \
chromium \
--no-install-recommends && \
rm -rf /var/lib/apt/lists/*
# Set environment variable for Playwright browsers path
ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright
# Copy package.json and package-lock.json first for caching
COPY package.json ./
# Install project dependencies
RUN npm install && npm install express-prettify prettyjson chalk
# Install Playwright browsers
RUN npx playwright install --with-deps chromium
# Copy the application source code
COPY . .
RUN mkdir -p /app/downloads && chmod -R 777 /app/downloads
# Expose the port
EXPOSE 7860
# Start the application (REMOVE playwright install from CMD)
CMD ["node", "server.js"]