# FROM python:3.10-slim # ENV DEBIAN_FRONTEND=noninteractive # # Install system dependencies # RUN apt-get update && apt-get install -y \ # chromium-driver \ # chromium \ # libglib2.0-0 \ # libnss3 \ # libgconf-2-4 \ # libxss1 \ # libappindicator3-1 \ # libasound2 \ # libatk-bridge2.0-0 \ # libx11-xcb1 \ # libxcomposite1 \ # libxdamage1 \ # libxrandr2 \ # libgbm1 \ # libgtk-3-0 \ # xdg-utils \ # fonts-liberation \ # && apt-get clean && rm -rf /var/lib/apt/lists/* # # Set environment variable so Selenium uses Chromium # ENV CHROME_BIN=/usr/bin/chromium # ENV PATH="/usr/lib/chromium/:${PATH}" # # Install Python dependencies # COPY requirements.txt . # RUN pip install --no-cache-dir -r requirements.txt # # Install Selenium and chromedriver-autoinstaller # RUN pip install --no-cache-dir selenium chromedriver-autoinstaller # # Copy your FastAPI app # COPY # WORKDIR # # Expose FastAPI port # EXPOSE 7860 # # Start FastAPI # CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"] FROM python:3.10-slim ENV DEBIAN_FRONTEND=noninteractive # Install system dependencies RUN apt-get update && apt-get install -y \ chromium-driver \ chromium \ libglib2.0-0 \ libnss3 \ libgconf-2-4 \ libxss1 \ libappindicator3-1 \ libasound2 \ libatk-bridge2.0-0 \ libx11-xcb1 \ libxcomposite1 \ libxdamage1 \ libxrandr2 \ libgbm1 \ libgtk-3-0 \ xdg-utils \ fonts-liberation \ && apt-get clean && rm -rf /var/lib/apt/lists/* # Set environment variable so Selenium uses Chromium ENV CHROME_BIN=/usr/bin/chromium ENV PATH="/usr/lib/chromium/:${PATH}" # Install Python dependencies COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # Install Selenium and chromedriver-autoinstaller RUN pip install --no-cache-dir selenium chromedriver-autoinstaller # Copy the FastAPI app code (all files in root) COPY . /app WORKDIR /app # Expose FastAPI port EXPOSE 7860 # Start FastAPI (main.py is now in /app/main.py) CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]