| FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim | |
| WORKDIR /app | |
| # 1. Copy config files | |
| COPY pyproject.toml uv.lock ./ | |
| # 2. Copy the source code EARLY | |
| # (This fixes the "Expected a Python module" error) | |
| COPY src ./src | |
| COPY README.md ./ | |
| # 3. Now run the sync | |
| # (uv will now find src/mentioned/__init__.py and be happy) | |
| RUN uv sync --frozen | |
| # 4. Pre-bake NLTK data | |
| RUN uv run python -m nltk.downloader punkt punkt_tab | |
| # 5. HF Space defaults | |
| ENV PORT=7860 | |
| EXPOSE 7860 | |
| CMD ["uv", "run", "python", "-m", "uvicorn", "mentioned.app:app", "--host", "0.0.0.0", "--port", "7860"] | |