retriever-api / Dockerfile
CarlosMalaga's picture
Update Dockerfile
0877a86 verified
raw
history blame contribute delete
861 Bytes
# Use a base image optimized for Python with Uvicorn and Gunicorn installed
FROM tiangolo/uvicorn-gunicorn:python3.10-slim
# Add a non-root user and install necessary packages
RUN adduser --disabled-password --gecos '' retriever-user \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
curl wget python3.10 python3-distutils python3-pip \
&& rm -rf /var/lib/apt/lists/*
# Switch to non-root user for security
USER retriever-user
# Set the working directory and copy application files
COPY --chown=retriever-user:retriever-user . /home/retriever-user/retriever
WORKDIR /home/retriever-user/retriever
# Install Python dependencies
RUN pip install --no-cache-dir -r requirements.txt
# Expose the port Flask will run on
EXPOSE 8000
# Run Flask command to serve the application
CMD ["gunicorn", "-w 4", "-b :8000", "app:app"]