Spaces:
Sleeping
Sleeping
| 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"] | |