# Use a minimal base image with Python 3.9 installed FROM python:3.9 # Set the working directory inside the container to /app WORKDIR /app # Copy all files from the current directory on the host to the container's /app directory COPY . . # Install Python dependencies listed in requirements.txt RUN pip3 install -r requirements.txt # Create a non-root user and switch to it RUN useradd -m -u 1000 user USER user # Set environment variables for the user ENV HOME=/home/user \ PATH=/home/user/.local/bin:$PATH # Set the working directory to the user's home app folder WORKDIR $HOME/app # Copy files again, ensuring correct ownership (since the previous COPY was done by root) COPY --chown=user . $HOME/app # Define the command to run the Streamlit app on port "8501" and make it accessible externally CMD ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0", "--server.enableXsrfProtection=false"]