QuantumLearner commited on
Commit
5e40e78
·
verified ·
1 Parent(s): d29838f

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +18 -13
Dockerfile CHANGED
@@ -1,21 +1,26 @@
1
- FROM python:3.10
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-bookworm
2
 
3
  WORKDIR /app
4
 
5
+ # Minimal system deps; no software-properties-common
6
+ RUN apt-get update && apt-get install -y --no-install-recommends \
7
+ build-essential curl git ca-certificates \
8
+ && rm -rf /var/lib/apt/lists/*
 
 
9
 
10
+ # Install Python deps first for better caching
11
+ COPY requirements.txt .
12
+ RUN pip install --no-cache-dir -r requirements.txt
13
 
14
+ # App code
15
+ COPY src/ ./src/
16
 
17
+ # Hugging Face Docker Spaces default port is 7860 unless overridden
18
+ ENV PORT=7860
19
+ EXPOSE 7860
20
 
21
+ # Healthcheck uses the same port
22
+ HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 \
23
+ CMD curl --fail http://127.0.0.1:${PORT}/_stcore/health || exit 1
24
 
25
+ # Streamlit bound to $PORT
26
+ CMD ["sh", "-c", "streamlit run src/streamlit_app.py --server.address=0.0.0.0 --server.port=${PORT}"]