stephenebert commited on
Commit
add6df8
·
verified ·
1 Parent(s): fa08236

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +12 -10
Dockerfile CHANGED
@@ -1,10 +1,11 @@
1
  FROM python:3.10-slim
2
 
 
3
  ENV PYTHONDONTWRITEBYTECODE=1 \
4
  PYTHONUNBUFFERED=1 \
5
- HF_HOME=/root/.cache/huggingface \
6
- TRANSFORMERS_CACHE=/root/.cache/huggingface/transformers \
7
- PIP_NO_CACHE_DIR=1
8
 
9
  WORKDIR /app
10
 
@@ -18,21 +19,22 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
18
  COPY requirements.txt .
19
  RUN pip install --no-cache-dir -r requirements.txt
20
 
21
- # Warm caches (NLTK + BLIP)
22
- RUN python - <<'PY'
23
- import nltk
24
- nltk.download('punkt'); nltk.download('averaged_perceptron_tagger')
 
 
 
25
  from transformers import BlipProcessor, BlipForConditionalGeneration
26
  BlipProcessor.from_pretrained("Salesforce/blip-image-captioning-base")
27
  BlipForConditionalGeneration.from_pretrained("Salesforce/blip-image-captioning-base")
28
- print("Models ready")
29
  PY
30
 
31
  # App code
32
  COPY . .
33
- RUN mkdir -p /app/data
34
 
35
  EXPOSE 7860
36
  CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
37
 
38
-
 
1
  FROM python:3.10-slim
2
 
3
+ # Keep caches local to the app; make NLTK writable
4
  ENV PYTHONDONTWRITEBYTECODE=1 \
5
  PYTHONUNBUFFERED=1 \
6
+ HF_HOME=/app/.cache/huggingface \
7
+ PIP_NO_CACHE_DIR=1 \
8
+ NLTK_DATA=/app/nltk_data
9
 
10
  WORKDIR /app
11
 
 
19
  COPY requirements.txt .
20
  RUN pip install --no-cache-dir -r requirements.txt
21
 
22
+ # Create data dirs and warm caches (NLTK + BLIP)
23
+ RUN mkdir -p /app/nltk_data /app/data \
24
+ && python - <<'PY'
25
+ import os, nltk
26
+ print("Using NLTK_DATA:", os.environ.get("NLTK_DATA"))
27
+ nltk.download('punkt', download_dir=os.environ['NLTK_DATA'])
28
+ nltk.download('averaged_perceptron_tagger', download_dir=os.environ['NLTK_DATA'])
29
  from transformers import BlipProcessor, BlipForConditionalGeneration
30
  BlipProcessor.from_pretrained("Salesforce/blip-image-captioning-base")
31
  BlipForConditionalGeneration.from_pretrained("Salesforce/blip-image-captioning-base")
32
+ print("Warm caches done")
33
  PY
34
 
35
  # App code
36
  COPY . .
 
37
 
38
  EXPOSE 7860
39
  CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
40