mgbam commited on
Commit
2a8928d
·
verified ·
1 Parent(s): b39f854

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +11 -6
Dockerfile CHANGED
@@ -1,5 +1,5 @@
1
  # Use an official Python runtime as a parent image
2
- FROM python:3.10-slim-bullseye
3
 
4
  # Set environment variables for Python, pip, and locale
5
  ENV PYTHONUNBUFFERED 1
@@ -11,14 +11,19 @@ ENV LANG C.UTF-8
11
  ENV LC_ALL C.UTF-8
12
 
13
  # Install system dependencies (as root)
 
 
14
  RUN apt-get update && apt-get install -y --no-install-recommends \
15
  ffmpeg \
16
  imagemagick \
17
  git \
 
 
18
  fonts-dejavu-core \
19
  fonts-liberation \
20
  libgl1-mesa-glx \
21
  libglib2.0-0 \
 
22
  && rm -rf /var/lib/apt/lists/*
23
 
24
  # Modify ImageMagick policy.xml (as root)
@@ -52,9 +57,7 @@ RUN groupadd -r appgroup --gid 1000 && \
52
 
53
  # Set Streamlit home directory (already created and chowned)
54
  ENV STREAMLIT_HOME=/home/appuser/.streamlit
55
- # Set environment variable to disable telemetry (alternative to CLI flag, but CLI is more direct for startup)
56
- # ENV STREAMLIT_CLIENT_GATHER_USAGE_STATS=false # This was incorrect, use browser.gatherUsageStats
57
- ENV BROWSER_GATHERUSAGEDATA=false # Alternative environment variable for the same thing
58
 
59
  # Set the working directory in the container
60
  WORKDIR /app
@@ -65,7 +68,10 @@ COPY --chown=appuser:appgroup requirements.txt .
65
  # Install Python dependencies as the non-root user
66
  USER appuser
67
  RUN pip install --no-cache-dir --upgrade pip && \
68
- pip install --user --no-cache-dir -r requirements.txt
 
 
 
69
 
70
  # Add user's local bin to PATH
71
  ENV PATH="/home/appuser/.local/bin:${PATH}"
@@ -86,5 +92,4 @@ RUN mkdir -p /app/assets/fonts
86
  EXPOSE 8501
87
 
88
  # Define the command to run the application
89
- # CORRECTED --client.gatherUsageStats to --browser.gatherUsageStats
90
  CMD ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0", "--browser.gatherUsageStats=false"]
 
1
  # Use an official Python runtime as a parent image
2
+ FROM python:3.10-slim-bullseye # Using -slim, not -slim-bullseye for broader compatibility initially
3
 
4
  # Set environment variables for Python, pip, and locale
5
  ENV PYTHONUNBUFFERED 1
 
11
  ENV LC_ALL C.UTF-8
12
 
13
  # Install system dependencies (as root)
14
+ # Added build-essential for packages that might need to compile C code
15
+ # Added libffi-dev (often needed by cryptography, a common sub-dependency)
16
  RUN apt-get update && apt-get install -y --no-install-recommends \
17
  ffmpeg \
18
  imagemagick \
19
  git \
20
+ build-essential \
21
+ libffi-dev \
22
  fonts-dejavu-core \
23
  fonts-liberation \
24
  libgl1-mesa-glx \
25
  libglib2.0-0 \
26
+ curl \
27
  && rm -rf /var/lib/apt/lists/*
28
 
29
  # Modify ImageMagick policy.xml (as root)
 
57
 
58
  # Set Streamlit home directory (already created and chowned)
59
  ENV STREAMLIT_HOME=/home/appuser/.streamlit
60
+ ENV BROWSER_GATHERUSAGEDATA=false
 
 
61
 
62
  # Set the working directory in the container
63
  WORKDIR /app
 
68
  # Install Python dependencies as the non-root user
69
  USER appuser
70
  RUN pip install --no-cache-dir --upgrade pip && \
71
+ echo "Attempting to install packages from requirements.txt" && \
72
+ pip install --user --no-cache-dir -r requirements.txt && \
73
+ echo "Attempting to install streamlit-sortable from GitHub" && \
74
+ pip install --user --no-cache-dir git+https://github.com/okld/streamlit-sortable.git
75
 
76
  # Add user's local bin to PATH
77
  ENV PATH="/home/appuser/.local/bin:${PATH}"
 
92
  EXPOSE 8501
93
 
94
  # Define the command to run the application
 
95
  CMD ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0", "--browser.gatherUsageStats=false"]