# Use an official Python runtime as a parent image FROM python:3.9 # Create a non-root user 'appuser' with home directory /home/appuser RUN useradd -m appuser # Set a working directory for copying requirements initially as root WORKDIR /app # Copy only the requirements file, to cache the pip install step COPY ./ /app # Install Python dependencies RUN pip3 install --no-cache-dir -r /app/requirements.txt RUN pip install "langchain[docarray]" RUN pip3 install "langchain[docarray]" # Expose the port the app runs on EXPOSE 8501 # Define the command to run the app CMD streamlit run app.py --server.address=0.0.0.0