Spaces:
Running
Running
| FROM python:3.11-slim | |
| RUN useradd -m -u 1000 user | |
| USER user | |
| ENV PATH="/home/user/.local/bin:$PATH" | |
| WORKDIR /app | |
| # Install dependencies | |
| COPY --chown=user afridialeval/requirements.txt requirements.txt | |
| RUN pip install --no-cache-dir --upgrade -r requirements.txt | |
| # Copy application code and data | |
| COPY --chown=user . /app | |
| # DATABASE_URL should be set as a HF Space secret pointing to Supabase PostgreSQL. | |
| # Fallback: /tmp SQLite (ephemeral, rebuilt each restart from JSON files). | |
| ENV DB_PATH=/tmp/afridialeval.db | |
| # Expose port 7860 (HF Spaces default) | |
| EXPOSE 7860 | |
| # Start: check DB, import data (skips if PostgreSQL already populated), seed users, run server | |
| CMD bash -c "\ | |
| echo '===== Application Startup at $(date -u +%Y-%m-%d\ %H:%M:%S) =====' && \ | |
| python -m afridialeval.check_db && \ | |
| python -m afridialeval.import_data --batch full && \ | |
| bash seed_users.sh && \ | |
| gunicorn afridialeval.app:app -w 1 -k uvicorn.workers.UvicornWorker --bind 0.0.0.0:7860" | |