# base image with playwright and necessary libraries FROM mcr.microsoft.com/playwright:focal # environment variables ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 \ CHROME_BIN=/usr/bin/chromium \ TZ=Asia/Jakarta \ DEBIAN_FRONTEND=noninteractive \ PORT=7860 # install dependencies RUN apt-get update && \ apt-get install -y \ software-properties-common \ # chromium \ ffmpeg \ imagemagick \ libnss3-dev \ webp \ gconf-service \ libasound2 \ libatk1.0-0 \ libc6 \ libcairo2 \ libcups2 \ libdbus-1-3 \ libexpat1 \ libfontconfig1 \ libgcc1 \ libgconf-2-4 \ libgdk-pixbuf2.0-0 \ libglib2.0-0 \ libgtk-3-0 \ libnspr4 \ libpango-1.0-0 \ libpangocairo-1.0-0 \ libstdc++6 \ libx11-6 \ libx11-xcb1 \ libxcb1 \ libxcomposite1 \ libxcursor1 \ libxdamage1 \ libxext6 \ libxfixes3 \ libxi6 \ libxrandr2 \ libxrender1 \ libxss1 \ libxtst6 \ ca-certificates \ libappindicator1 \ lsb-release \ xdg-utils \ fonts-liberation \ fonts-dejavu \ fonts-noto-color-emoji \ python3.9 \ python3.9-venv \ python3.9-dev \ build-essential \ python3-pip && \ rm -rf /var/lib/apt/lists/* && \ update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1 # set working directory WORKDIR /app # install dependencies RUN chmod -R 777 /app # install python dependencies (if any) COPY . $WORKDIR RUN python3 -m venv venv && \ . venv/bin/activate && \ pip install --no-cache-dir -r requirements.txt # expose port EXPOSE 7860 # start the application CMD ["python3", "main.py"]