|
|
| FROM python:3.11-slim as builder
|
|
|
|
|
| WORKDIR /app
|
|
|
|
|
| RUN apt-get update && apt-get install -y \
|
| gcc \
|
| g++ \
|
| && rm -rf /var/lib/apt/lists/*
|
|
|
|
|
| COPY requirements-docker.txt ./requirements.txt
|
|
|
|
|
| RUN pip install --upgrade pip
|
| RUN pip install --no-cache-dir --user -r requirements.txt
|
|
|
|
|
| FROM python:3.11-slim
|
|
|
|
|
| ENV PYTHONDONTWRITEBYTECODE=1 \
|
| PYTHONUNBUFFERED=1 \
|
| PATH=/root/.local/bin:$PATH
|
|
|
|
|
| WORKDIR /app
|
|
|
|
|
| RUN apt-get update && apt-get install -y \
|
| curl \
|
| && rm -rf /var/lib/apt/lists/*
|
|
|
|
|
| COPY --from=builder /root/.local /root/.local
|
|
|
|
|
| COPY app/ ./app/
|
| COPY main.py .
|
| COPY requirements-docker.txt ./requirements.txt
|
|
|
| COPY models_config.yaml .
|
|
|
|
|
| RUN mkdir -p /app/models /app/.cache/huggingface
|
|
|
|
|
| ENV HF_HOME=/app/.cache/huggingface
|
| ENV TRANSFORMERS_CACHE=/app/.cache/huggingface
|
| ENV SENTENCE_TRANSFORMERS_HOME=/app/.cache/huggingface
|
|
|
|
|
| HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
|
| CMD curl -f http://localhost:5200/health || exit 1
|
|
|
|
|
| EXPOSE 5200
|
|
|
|
|
| CMD ["python", "main.py"] |