LLM-Guard / Dockerfile
SSK-14's picture
Fix path
33c7d88
raw
history blame
1.56 kB
# Use the Python 3.11 slim image
FROM python:3.11-slim
LABEL org.opencontainers.image.source=https://github.com/protectai/llm-guard
LABEL org.opencontainers.image.description="LLM Guard API"
LABEL org.opencontainers.image.licenses=MIT
# Install system packages needed for building
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
RUN useradd -m -u 1000 user
USER user
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH
# ensures that the python output is sent straight to terminal (e.g. your container log)
# without being first buffered and that you can see the output of your application (e.g. django logs)
# in real time. Equivalent to python -u: https://docs.python.org/3/using/cmdline.html#cmdoption-u
ENV PYTHONUNBUFFERED 1
# https://docs.python.org/3/using/cmdline.html#envvar-PYTHONDONTWRITEBYTECODE
# Prevents Python from writing .pyc files to disk
ENV PYTHONDONTWRITEBYTECODE 1
# Set up a working directory
WORKDIR $HOME/app
# Copy pyproject.toml and other necessary files for installation
COPY --chown=user:user pyproject.toml ./
COPY --chown=user:user app ./app
# Install the project's dependencies
RUN pip install --no-cache-dir --upgrade pip && \
pip install torch==2.0.1 --index-url https://download.pytorch.org/whl/cpu && \
pip install --no-cache-dir ".[cpu]"
RUN python -m spacy download en_core_web_sm
COPY --chown=user:user ./config/scanners.yml ./config/scanners.yml
EXPOSE 7860
CMD ["llm_guard_api", "config/scanners.yml"]