Spaces:
Runtime error
Runtime error
Update Dockerfile
Browse files- Dockerfile +25 -4
Dockerfile
CHANGED
|
@@ -1,22 +1,43 @@
|
|
| 1 |
-
|
|
|
|
| 2 |
|
| 3 |
ENV DEBIAN_FRONTEND=noninteractive
|
| 4 |
WORKDIR /app
|
| 5 |
|
|
|
|
| 6 |
RUN apt-get update && apt-get install -y --no-install-recommends \
|
| 7 |
-
|
| 8 |
|
|
|
|
| 9 |
COPY . /app
|
| 10 |
|
|
|
|
| 11 |
RUN python -m pip install --upgrade pip setuptools wheel
|
|
|
|
|
|
|
| 12 |
RUN pip install --no-cache-dir -r requirements.txt
|
| 13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
RUN useradd -m -u 1000 user
|
| 15 |
USER user
|
| 16 |
ENV HOME=/home/user PATH=/home/user/.local/bin:$PATH
|
| 17 |
-
|
| 18 |
WORKDIR $HOME/app
|
| 19 |
RUN cp -r /app/* $HOME/app/ || true
|
| 20 |
|
| 21 |
EXPOSE 8501
|
| 22 |
-
CMD ["streamlit","run","app.py","--server.port=8501","--server.address=0.0.0.0"
|
|
|
|
| 1 |
+
# Dockerfile — predownload model at build time (recommended)
|
| 2 |
+
FROM python:3.11-slim
|
| 3 |
|
| 4 |
ENV DEBIAN_FRONTEND=noninteractive
|
| 5 |
WORKDIR /app
|
| 6 |
|
| 7 |
+
# system deps
|
| 8 |
RUN apt-get update && apt-get install -y --no-install-recommends \
|
| 9 |
+
ca-certificates libgomp1 && rm -rf /var/lib/apt/lists/*
|
| 10 |
|
| 11 |
+
# copy code & requirements
|
| 12 |
COPY . /app
|
| 13 |
|
| 14 |
+
# upgrade pip
|
| 15 |
RUN python -m pip install --upgrade pip setuptools wheel
|
| 16 |
+
|
| 17 |
+
# install only Python deps first
|
| 18 |
RUN pip install --no-cache-dir -r requirements.txt
|
| 19 |
|
| 20 |
+
# Download model from HF into /opt/model at build-time
|
| 21 |
+
# If repo is private, set build secret or pass HF_TOKEN as build-arg (see notes below)
|
| 22 |
+
ARG HF_MODEL_REPO="sathishaiuse/wellness-classifier-model"
|
| 23 |
+
ARG HF_MODEL_FILENAME=""
|
| 24 |
+
ARG HF_TOKEN=""
|
| 25 |
+
RUN python - <<PY
|
| 26 |
+
from huggingface_hub import snapshot_download
|
| 27 |
+
import os
|
| 28 |
+
repo = os.environ.get('HF_MODEL_REPO', '${HF_MODEL_REPO}')
|
| 29 |
+
token = os.environ.get('HF_TOKEN', '${HF_TOKEN}') or None
|
| 30 |
+
# snapshot_download will save the repo files into /opt/model/<repo-name>
|
| 31 |
+
local = snapshot_download(repo, token=token, cache_dir="/opt/model_cache")
|
| 32 |
+
print("Downloaded to:", local)
|
| 33 |
+
PY
|
| 34 |
+
|
| 35 |
+
# create unpriv user
|
| 36 |
RUN useradd -m -u 1000 user
|
| 37 |
USER user
|
| 38 |
ENV HOME=/home/user PATH=/home/user/.local/bin:$PATH
|
|
|
|
| 39 |
WORKDIR $HOME/app
|
| 40 |
RUN cp -r /app/* $HOME/app/ || true
|
| 41 |
|
| 42 |
EXPOSE 8501
|
| 43 |
+
CMD ["streamlit","run","app.py","--server.port=8501","--server.address=0.0.0.0"]
|