mahmudunnabi commited on
Commit
3b39490
·
verified ·
1 Parent(s): be235f5

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +21 -6
Dockerfile CHANGED
@@ -1,20 +1,35 @@
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
+ FROM python:3.10-slim
2
 
3
+ # Set working directory
4
  WORKDIR /app
5
 
6
+ # Install dependencies
7
  RUN apt-get update && apt-get install -y \
8
  build-essential \
9
  curl \
10
  git \
11
  && rm -rf /var/lib/apt/lists/*
12
 
13
+ # Create a non-root user (safer than root)
14
+ RUN useradd -ms /bin/bash appuser
15
+ USER appuser
16
 
17
+ # Ensure .streamlit directory exists and is writable
18
+ RUN mkdir -p /app/.streamlit
19
+ ENV STREAMLIT_CONFIG_DIR=/app/.streamlit
20
 
21
+ # Copy requirements and source code
22
+ COPY --chown=appuser:appuser requirements.txt ./requirements.txt
23
+ COPY --chown=appuser:appuser src/ ./src/
24
+
25
+ # Install Python packages
26
+ RUN pip install --no-cache-dir -r requirements.txt
27
+
28
+ # Expose Streamlit port
29
  EXPOSE 8501
30
 
31
+ # Healthcheck
32
+ HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health || exit 1
33
 
34
+ # Run Streamlit
35
+ ENTRYPOINT ["streamlit", "run", "src/streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"]