| |
| |
| |
| |
|
|
| FROM python:3.13-slim |
|
|
| ENV PYTHONUNBUFFERED=1 \ |
| PYTHONDONTWRITEBYTECODE=1 \ |
| PIP_NO_CACHE_DIR=1 \ |
| HF_HOME=/home/user/.cache/huggingface |
|
|
| |
| RUN useradd --create-home --uid 1000 user |
| WORKDIR /home/user/app |
|
|
| |
| COPY deployment/requirements.txt deployment/requirements.txt |
| RUN pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu \ |
| && pip install -r deployment/requirements.txt |
|
|
| |
| COPY --chown=user:user deployment/app deployment/app |
| COPY --chown=user:user deployment/static deployment/static |
| COPY --chown=user:user deployment/templates deployment/templates |
| COPY --chown=user:user training/final_model training/final_model |
|
|
| USER user |
| WORKDIR /home/user/app/deployment |
|
|
| |
| |
| RUN --mount=type=secret,id=hf_token,uid=1000 \ |
| HF_TOKEN="$(cat /run/secrets/hf_token)" \ |
| python -c "from app.model import Predictor; from app.encoders import Encoders; Predictor(encoders=Encoders())" |
|
|
| |
| ENV HF_HUB_OFFLINE=1 \ |
| TRANSFORMERS_OFFLINE=1 |
|
|
| EXPOSE 7860 |
| |
| |
| CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"] |
|
|