# Use an appropriate base image FROM python:3.10.12 # Set the working directory WORKDIR /app # Install system dependencies RUN apt-get update && apt-get install -y \ glpk-utils \ && rm -rf /var/lib/apt/lists/* # Copy only requirements.txt initially to leverage Docker cache COPY requirements.txt /app/requirements.txt # Install Python dependencies RUN pip install --no-cache-dir --upgrade -r /app/requirements.txt # Copy the rest of the application code COPY . /app # Create a non-root user and set permissions RUN useradd -m -u 1000 user USER user ENV HOME /home/user ENV PATH $HOME/.local/bin:$PATH # Set the working directory for the user WORKDIR /app # Verify GLPK installation RUN glpsol --version # Expose port for Streamlit EXPOSE 8501 # Command to run the Streamlit application CMD ["streamlit", "run", "app.py", "--server.headless", "true", "--server.enableCORS", "false", "--server.enableXsrfProtection", "false", "--server.fileWatcherType", "none"]