Sp2503 commited on
Commit
5562e3e
Β·
verified Β·
1 Parent(s): 3d71fc5

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +17 -46
Dockerfile CHANGED
@@ -1,59 +1,30 @@
1
- # -------------------------------
2
- # βœ… Base Image
3
- # -------------------------------
4
  FROM python:3.10-slim
5
 
6
- # -------------------------------
7
- # βœ… Environment Setup
8
- # -------------------------------
9
- ENV PYTHONUNBUFFERED=1 \
10
- TORCH_DISABLE_CUDA=1 \
11
- TRANSFORMERS_CACHE=/app/hf_cache \
12
- HF_HOME=/app/hf_cache
13
 
 
14
  WORKDIR /app
15
 
16
- # -------------------------------
17
- # βœ… System Dependencies
18
- # -------------------------------
19
- RUN apt-get update && apt-get install -y --no-install-recommends \
20
- git \
21
- && rm -rf /var/lib/apt/lists/*
22
-
23
- # -------------------------------
24
- # βœ… Install Python Dependencies
25
- # -------------------------------
26
  COPY requirements.txt .
27
- RUN pip install --no-cache-dir -r requirements.txt
28
 
29
- # -------------------------------
30
- # βœ… Copy Application Files
31
- # -------------------------------
 
 
 
32
  COPY . .
33
 
34
- # -------------------------------
35
- # βœ… Prepare Cache & Permissions
36
- # -------------------------------
37
  RUN mkdir -p /app/hf_cache && chmod -R 777 /app/hf_cache
38
 
39
- # -------------------------------
40
- # βœ… Expose Port
41
- # -------------------------------
42
  EXPOSE 8080
43
 
44
- # -------------------------------
45
- # βœ… Health-friendly Startup
46
- # -------------------------------
47
- # NOTE:
48
- # Model & embeddings are loaded lazily in a background thread (main.py)
49
- # so container becomes healthy immediately and avoids 30-min timeout.
50
- #
51
- # You can preload if you really want, but it’s slower on build:
52
- # RUN python -c "from sentence_transformers import SentenceTransformer; \
53
- # model = SentenceTransformer('./muril_combined_multilingual_model'); \
54
- # print('βœ… Model preloaded')"
55
-
56
- # -------------------------------
57
- # βœ… Start FastAPI with Uvicorn
58
- # -------------------------------
59
- CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8080"]
 
1
+ # Use lightweight Python base image
 
 
2
  FROM python:3.10-slim
3
 
4
+ # Disable CUDA & set cache locations
5
+ ENV TORCH_DISABLE_CUDA=1
6
+ ENV TRANSFORMERS_CACHE=/app/hf_cache
7
+ ENV HF_HOME=/app/hf_cache
 
 
 
8
 
9
+ # Working directory
10
  WORKDIR /app
11
 
12
+ # Copy dependency list
 
 
 
 
 
 
 
 
 
13
  COPY requirements.txt .
 
14
 
15
+ # Install dependencies efficiently
16
+ RUN apt-get update && apt-get install -y git && \
17
+ pip install --no-cache-dir -r requirements.txt && \
18
+ rm -rf /var/lib/apt/lists/*
19
+
20
+ # Copy app code
21
  COPY . .
22
 
23
+ # Create cache folder (writable)
 
 
24
  RUN mkdir -p /app/hf_cache && chmod -R 777 /app/hf_cache
25
 
26
+ # Expose port
 
 
27
  EXPOSE 8080
28
 
29
+ # Run the FastAPI app
30
+ CMD ["python", "main.py"]