QuantumLearner commited on
Commit
68ec193
·
verified ·
1 Parent(s): b39d188

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +24 -14
Dockerfile CHANGED
@@ -1,24 +1,34 @@
1
- FROM python:3.9-slim
2
 
3
- WORKDIR /app
 
 
 
 
 
4
 
5
- RUN apt-get update && apt-get install -y \
6
- build-essential \
7
- wget \
8
- && rm -rf /var/lib/apt/lists/*
9
 
10
- RUN wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz && \
11
- tar -xvzf ta-lib-0.4.0-src.tar.gz && \
12
- cd ta-lib/ && \
13
- ./configure --prefix=/usr && \
14
- make && \
15
- make install
16
 
 
17
  COPY requirements.txt .
18
- RUN pip install --no-cache-dir -r requirements.txt
 
 
19
 
 
20
  COPY . .
21
 
 
22
  EXPOSE 7860
23
 
24
- CMD ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"]
 
 
 
 
 
1
+ FROM python:3.9-slim-bookworm
2
 
3
+ ENV PYTHONDONTWRITEBYTECODE=1 \
4
+ PYTHONUNBUFFERED=1 \
5
+ PIP_NO_CACHE_DIR=1 \
6
+ STREAMLIT_BROWSER_GATHER_USAGE_STATS=false \
7
+ MPLBACKEND=Agg \
8
+ MPLCONFIGDIR=/tmp/mplconfig
9
 
10
+ WORKDIR /app
 
 
 
11
 
12
+ # Minimal system deps for matplotlib fonts/rendering (no compilers needed)
13
+ RUN apt-get update && apt-get install -y --no-install-recommends \
14
+ curl ca-certificates fonts-dejavu libfreetype6 libpng16-16 \
15
+ && rm -rf /var/lib/apt/lists/* \
16
+ && mkdir -p /tmp/mplconfig
 
17
 
18
+ # Install Python deps
19
  COPY requirements.txt .
20
+ RUN python -m pip install --upgrade pip setuptools wheel \
21
+ && pip install --no-cache-dir --only-binary=:all: "TA-Lib==0.6.5" \
22
+ && pip install --no-cache-dir -r requirements.txt
23
 
24
+ # Your code
25
  COPY . .
26
 
27
+ ENV PORT=7860
28
  EXPOSE 7860
29
 
30
+ # (Optional) healthcheck
31
+ HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 \
32
+ CMD curl --fail http://127.0.0.1:${PORT}/_stcore/health || exit 1
33
+
34
+ CMD ["sh","-c","streamlit run app.py --server.port=${PORT} --server.address=0.0.0.0"]