wracell commited on
Commit
c02a971
·
1 Parent(s): 1a74f58
Files changed (1) hide show
  1. Dockerfile +26 -4
Dockerfile CHANGED
@@ -1,7 +1,9 @@
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 \
@@ -9,14 +11,34 @@ RUN apt-get update && apt-get install -y \
9
  git \
10
  && rm -rf /var/lib/apt/lists/*
11
 
 
12
  COPY requirements.txt ./
13
  COPY src/ ./src/
14
- COPY src/ .
15
 
16
- RUN pip3 install -r requirements.txt
 
17
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  EXPOSE 8501
19
 
20
- HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health
 
21
 
22
- ENTRYPOINT ["streamlit", "run", "src/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 necessary OS packages
7
  RUN apt-get update && apt-get install -y \
8
  build-essential \
9
  curl \
 
11
  git \
12
  && rm -rf /var/lib/apt/lists/*
13
 
14
+ # Copy requirement and source files
15
  COPY requirements.txt ./
16
  COPY src/ ./src/
17
+ COPY src/ .
18
 
19
+ # Install Python packages
20
+ RUN pip3 install --no-cache-dir -r requirements.txt
21
 
22
+ # Set environment variables to avoid permission issues
23
+ ENV HOME=/app
24
+ ENV STREAMLIT_HOME=/app/.streamlit
25
+
26
+ # Create .streamlit config folder to avoid PermissionError
27
+ RUN mkdir -p /app/.streamlit
28
+
29
+ # Optional: add a basic credentials/config file to suppress warnings
30
+ RUN echo "\
31
+ [server]\n\
32
+ headless = true\n\
33
+ enableCORS = false\n\
34
+ \n\
35
+ " > /app/.streamlit/config.toml
36
+
37
+ # Expose Streamlit port
38
  EXPOSE 8501
39
 
40
+ # Add healthcheck
41
+ HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health || exit 1
42
 
43
+ # Run the Streamlit app
44
+ ENTRYPOINT ["streamlit", "run", "src/app.py", "--server.port=8501", "--server.address=0.0.0.0"]