nilotpaldhar2004 commited on
Commit
49d1e1b
·
verified ·
1 Parent(s): 784a33d

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +13 -6
Dockerfile CHANGED
@@ -1,34 +1,41 @@
1
  FROM python:3.11-slim
2
 
3
- # Install system dependencies for sentencepiece and other C++ builds
 
4
  USER root
5
  RUN apt-get update && apt-get install -y \
6
  build-essential \
 
7
  && rm -rf /var/lib/apt/lists/*
8
 
9
- # Setup user
10
  RUN useradd -m -u 1000 user
11
  ENV HOME=/home/user \
12
  PATH=/home/user/.local/bin:$PATH \
13
  PYTHONUNBUFFERED=1 \
14
  PYTHONDONTWRITEBYTECODE=1 \
15
- HF_HOME=/home/user/.cache/huggingface
 
 
16
 
17
  WORKDIR $HOME/app
18
 
19
- # Ensure cache directory exists
 
20
  RUN mkdir -p $HF_HOME && chown -R user:user $HOME
21
 
22
  USER user
23
 
24
- # Install Python requirements
 
25
  COPY --chown=user requirements.txt .
26
  RUN pip install --no-cache-dir --upgrade pip && \
27
  pip install --no-cache-dir -r requirements.txt
28
 
29
- # Copy application
30
  COPY --chown=user . .
31
 
 
32
  EXPOSE 7860
33
 
34
  CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
 
1
  FROM python:3.11-slim
2
 
3
+ # 1. Install system dependencies
4
+ # We keep build-essential for any C++ extensions needed by transformers/accelerate
5
  USER root
6
  RUN apt-get update && apt-get install -y \
7
  build-essential \
8
+ git \
9
  && rm -rf /var/lib/apt/lists/*
10
 
11
+ # 2. Setup user
12
  RUN useradd -m -u 1000 user
13
  ENV HOME=/home/user \
14
  PATH=/home/user/.local/bin:$PATH \
15
  PYTHONUNBUFFERED=1 \
16
  PYTHONDONTWRITEBYTECODE=1 \
17
+ HF_HOME=/home/user/.cache/huggingface \
18
+ # Ensure torch doesn't try to use too many CPU threads before the GPU kicks in
19
+ OMP_NUM_THREADS=4
20
 
21
  WORKDIR $HOME/app
22
 
23
+ # 3. Create cache directories
24
+ # 7B models are large (~15GB), so proper cache management is vital
25
  RUN mkdir -p $HF_HOME && chown -R user:user $HOME
26
 
27
  USER user
28
 
29
+ # 4. Install Python requirements
30
+ # Make sure 'spaces' and 'accelerate' are in your requirements.txt
31
  COPY --chown=user requirements.txt .
32
  RUN pip install --no-cache-dir --upgrade pip && \
33
  pip install --no-cache-dir -r requirements.txt
34
 
35
+ # 5. Copy application
36
  COPY --chown=user . .
37
 
38
+ # Hugging Face ZeroGPU requires the app to run on port 7860
39
  EXPOSE 7860
40
 
41
  CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]