high77 commited on
Commit
8c9208b
·
verified ·
1 Parent(s): 68eb1a8

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +12 -4
Dockerfile CHANGED
@@ -1,21 +1,29 @@
1
  FROM python:3.9-slim
2
 
 
3
  WORKDIR /app
4
 
5
- RUN apt-get update && apt-get install -y \
 
6
  build-essential \
7
  curl \
8
  software-properties-common \
9
  git \
10
  && rm -rf /var/lib/apt/lists/*
11
 
 
12
  COPY requirements.txt ./
13
  COPY src/ ./src/
14
 
15
- RUN pip3 install -r requirements.txt
 
16
 
 
17
  EXPOSE 8501
18
 
19
- HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health
 
 
20
 
21
- ENTRYPOINT ["streamlit", "run", "src/streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"]
 
 
1
  FROM python:3.9-slim
2
 
3
+ # Set working directory
4
  WORKDIR /app
5
 
6
+ # Install system dependencies and clean up to reduce image size
7
+ RUN apt-get update && apt-get install -y --no-install-recommends \
8
  build-essential \
9
  curl \
10
  software-properties-common \
11
  git \
12
  && rm -rf /var/lib/apt/lists/*
13
 
14
+ # Copy requirements and source code
15
  COPY requirements.txt ./
16
  COPY src/ ./src/
17
 
18
+ # Install Python dependencies
19
+ RUN pip install --no-cache-dir -r requirements.txt
20
 
21
+ # Expose Streamlit port
22
  EXPOSE 8501
23
 
24
+ # Healthcheck to monitor app readiness
25
+ HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
26
+ CMD curl --fail http://localhost:8501/_stcore/health || exit 1
27
 
28
+ # Run the Streamlit app
29
+ ENTRYPOINT ["streamlit", "run", "src/streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"]