FROM python:3.11-slim # ── Install Chromium & dependencies ── RUN apt-get update && apt-get install -y --no-install-recommends \ chromium \ chromium-driver \ fonts-liberation \ libnss3 \ libxss1 \ libasound2 \ libatk-bridge2.0-0 \ libgtk-3-0 \ wget \ curl \ && rm -rf /var/lib/apt/lists/* # Tell Selenium where Chromium lives ENV CHROME_BIN=/usr/bin/chromium ENV CHROMEDRIVER_PATH=/usr/bin/chromedriver ENV CHROMIUM_FLAGS="--no-sandbox --disable-dev-shm-usage" # ── Create app user (HF Spaces runs as uid 1000) ── RUN useradd -m -u 1000 appuser WORKDIR /app # ── Install Python dependencies ── COPY backend/requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # ── Copy application code ── COPY backend/ ./backend/ COPY frontend/ ./frontend/ # ── Create writable data directory ── RUN mkdir -p /app/backend/data && chown -R appuser:appuser /app USER appuser # ── Expose port (HF Spaces uses 7860) ── EXPOSE 7860 # ── Launch ── WORKDIR /app/backend CMD ["python", "main.py"]