# Use the official Playwright image which includes all browser dependencies FROM mcr.microsoft.com/playwright/python:v1.40.0-jammy WORKDIR /app # Install Xvfb (Virtual Display) RUN apt-get update && apt-get install -y xvfb # Install Python requirements COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # Copy your application code COPY . . # Set environment variable to run Headful ENV HEADLESS="false" # Run Uvicorn wrapped in Xvfb (This simulates a monitor so Playwright thinks it's a real computer) CMD xvfb-run -a uvicorn main:app --host 0.0.0.0 --port 7860