Spaces:
Sleeping
Sleeping
| FROM python:3.11-slim | |
| # Installer Poetry et les dépendances système pour SQLite | |
| RUN apt-get update && apt-get install -y \ | |
| sqlite3 \ | |
| libsqlite3-dev \ | |
| && rm -rf /var/lib/apt/lists/* \ | |
| && pip install poetry | |
| # Configuration Poetry | |
| ENV POETRY_NO_INTERACTION=1 \ | |
| POETRY_VENV_IN_PROJECT=1 \ | |
| POETRY_CACHE_DIR=/tmp/poetry_cache \ | |
| VIRTUAL_ENV=/code/.venv \ | |
| PATH="/code/.venv/bin:$PATH" | |
| WORKDIR /code | |
| # Copier les fichiers de dépendances | |
| COPY pyproject.toml poetry.lock ./ | |
| # Copier le code source d'abord | |
| COPY . . | |
| # Configurer Poetry pour créer le venv dans le projet | |
| RUN poetry config virtualenvs.in-project true && \ | |
| poetry install --only main --no-interaction --no-ansi | |
| # Installer toutes les dépendances et le projet | |
| #RUN poetry install --only=main && rm -rf $POETRY_CACHE_DIR | |
| # Configuration pour SQLite et HuggingFace Spaces | |
| ENV DATABASE_URL="sqlite:///:memory:" \ | |
| ENVIRONMENT="production" \ | |
| PORT=7860 | |
| ENV ML_MODEL_PATH=../model/model.pkl | |
| # Exposer le port requis par HF Spaces | |
| EXPOSE 7860 | |
| # Rendre le script d'initialisation exécutable | |
| RUN chmod +x init_db.py | |
| # Commande de démarrage avec initialisation de la base | |
| CMD ["sh", "-c", " poetry env activate && cd src && poetry run uvicorn project5.main:app --host 0.0.0.0 --port 7860"] | |