evelynsaltt commited on
Commit
3f70259
·
verified ·
1 Parent(s): 37e63c6

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +23 -8
Dockerfile CHANGED
@@ -1,21 +1,36 @@
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
+ # Optional: speed up pip & keep image small
4
+ ENV PIP_NO_CACHE_DIR=1 \
5
+ PIP_DISABLE_PIP_VERSION_CHECK=1 \
6
+ STREAMLIT_BROWSER_GATHER_USAGE_STATS=false
7
+
8
  WORKDIR /app
9
 
10
+ # Minimal, Debian-safe packages (no software-properties-common on Debian)
11
+ RUN apt-get update && apt-get install -y --no-install-recommends \
12
  build-essential \
13
  curl \
14
+ ca-certificates \
15
+ && rm -rf /var/lib/apt/lists/*
16
+
17
+ # If you use OpenCV or video/image I/O at runtime, uncomment these:
18
+ # RUN apt-get update && apt-get install -y --no-install-recommends \
19
+ # ffmpeg libsm6 libxext6 libgl1 \
20
+ # && rm -rf /var/lib/apt/lists/*
21
 
22
+ # Install deps first for better Docker layer caching
23
  COPY requirements.txt ./
24
+ RUN pip install -r requirements.txt
25
 
26
+ # App code
27
+ COPY src/ ./src/
28
 
29
+ # Expose is informational; HF Spaces sets $PORT
30
  EXPOSE 8501
31
 
32
+ # Streamlit health endpoint (optional on HF; keep curl installed)
33
+ HEALTHCHECK CMD curl --fail http://localhost:${PORT:-8501}/_stcore/health || exit 1
34
 
35
+ # Use a shell form so $PORT expands correctly on HF Spaces
36
+ CMD ["bash", "-lc", "streamlit run src/streamlit_app.py --server.port=${PORT:-8501} --server.address=0.0.0.0"]