sreenathsree1578 commited on
Commit
41367bf
·
verified ·
1 Parent(s): 6b90cd1

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +36 -11
Dockerfile CHANGED
@@ -1,20 +1,45 @@
1
- FROM python:3.13.5-slim
 
2
 
3
- WORKDIR /app
 
 
 
 
4
 
 
5
  RUN apt-get update && apt-get install -y \
6
- build-essential \
7
- curl \
8
- git \
 
 
 
 
 
 
 
9
  && rm -rf /var/lib/apt/lists/*
10
 
11
- COPY requirements.txt ./
12
- COPY src/ ./src/
13
 
14
- RUN pip3 install -r requirements.txt
 
15
 
16
- EXPOSE 8501
 
17
 
18
- HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health
 
 
 
 
 
 
 
 
 
19
 
20
- ENTRYPOINT ["streamlit", "run", "src/streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"]
 
 
1
+ # Use Python 3.9 slim image as base
2
+ FROM python:3.9-slim
3
 
4
+ # Set environment variables for headless operation
5
+ ENV DISPLAY=:0 \
6
+ QT_QPA_PLATFORM=offscreen \
7
+ OPENCV_HEADLESS=1 \
8
+ PYTHONUNBUFFERED=1
9
 
10
+ # Install system dependencies
11
  RUN apt-get update && apt-get install -y \
12
+ libgl1-mesa-glx \
13
+ libglib2.0-0 \
14
+ libsm6 \
15
+ libxext6 \
16
+ libxrender-dev \
17
+ libgomp1 \
18
+ libgtk-3-dev \
19
+ libavcodec-dev \
20
+ libavformat-dev \
21
+ libswscale-dev \
22
  && rm -rf /var/lib/apt/lists/*
23
 
24
+ # Set working directory
25
+ WORKDIR /app
26
 
27
+ # Copy requirements file
28
+ COPY requirements.txt .
29
 
30
+ # Install Python packages
31
+ RUN pip install --no-cache-dir -r requirements.txt
32
 
33
+ # Copy application code
34
+ COPY . .
35
+
36
+ # Create a non-root user
37
+ RUN useradd --create-home --shell /bin/bash appuser && \
38
+ chown -R appuser:appuser /app
39
+ USER appuser
40
+
41
+ # Expose Streamlit port
42
+ EXPOSE 8501
43
 
44
+ # Run the Streamlit app
45
+ CMD ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0", "--server.headless=true", "--server.enableCORS=false"]