Harshb11 commited on
Commit
b09b9d7
·
verified ·
1 Parent(s): cfeacc1

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +33 -8
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
+ # Base image with Python 3.9 (lightweight)
2
+ FROM python:3.9-slim
3
 
4
+ # Prevent interactive prompts during package installs
5
+ ENV DEBIAN_FRONTEND=noninteractive
6
+
7
+ # Set working directory
8
  WORKDIR /app
9
 
10
+ # System dependencies (needed for nltk, matplotlib, wordcloud)
11
  RUN apt-get update && apt-get install -y \
12
+ gcc \
13
+ g++ \
14
+ wget \
15
  curl \
16
  git \
17
+ build-essential \
18
+ libglib2.0-0 \
19
+ libsm6 \
20
+ libxrender1 \
21
+ libxext6 \
22
+ libgl1 \
23
  && rm -rf /var/lib/apt/lists/*
24
 
25
+ # Copy requirements first (better caching)
26
+ COPY requirements.txt .
27
+
28
+ # Install Python dependencies
29
+ RUN pip install --no-cache-dir -r requirements.txt
30
+
31
+ # Download NLTK stopwords
32
+ RUN python -m nltk.downloader stopwords
33
 
34
+ # Copy source code
35
+ COPY . .
36
 
37
+ # Expose Streamlit default port
38
+ EXPOSE 7860
39
 
40
+ # Set environment for Streamlit
41
+ ENV STREAMLIT_SERVER_PORT=7860 \
42
+ STREAMLIT_SERVER_ADDRESS=0.0.0.0
43
 
44
+ # Command to run Streamlit
45
+ CMD ["streamlit", "run", "app.py"]