# 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