File size: 978 Bytes
6e0c983
31f5b99
70b153e
6e0c983
57ac871
6e0c983
a4290a8
 
 
 
6e0c983
70b153e
57ac871
70b153e
6e0c983
57ac871
70b153e
72b7949
 
 
86909f7
57ac871
 
 
 
209e4e4
72b7949
 
57ac871
86909f7
 
 
 
57ac871
86909f7
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# 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"]