FROM mcr.microsoft.com/playwright/python:v1.48.0-noble

# Установка системных зависимостей
# socat — проброс портов для CDP
# Видеокодеки и мультимедийные библиотеки для воспроизведения видео в Chrome
RUN apt-get update && apt-get install -y \
    socat \
    libgstreamer1.0-0 \
    gstreamer1.0-plugins-base \
    gstreamer1.0-plugins-good \
    gstreamer1.0-plugins-bad \
    gstreamer1.0-plugins-ugly \
    gstreamer1.0-libav \
    libavcodec-extra \
    libavformat-dev \
    libavutil-dev \
    libnss3 \
    libatk-bridge2.0-0 \
    libdrm2 \
    libxkbcommon0 \
    libgbm1 \
    libvpx-dev \
    libopus-dev \
    fonts-liberation \
    fonts-noto-color-emoji \
    fonts-noto-cjk \
    && rm -rf /var/lib/apt/lists/*

# Установка дополнительных Python зависимостей
RUN pip install --no-cache-dir --root-user-action=ignore \
    fastapi \
    uvicorn \
    pydantic \
    browser-use \
    langchain-openai \
    langchain \
    python-dotenv \
    setuptools \
    httpx

WORKDIR /app

# Копируем stealth-расширение для обхода антифрода
COPY stealth-extension/ /app/stealth-extension/

# Копируем код приложения
COPY app.py .

# Создаем директорию для данных браузера
RUN mkdir -p /app/browser-data && chmod 777 /app/browser-data

EXPOSE 8383
EXPOSE 9222

CMD ["python", "app.py"]
