afridialeval / Dockerfile
millicentochieng's picture
Upload folder using huggingface_hub
5d9c8ad verified
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"