nilotpaldhar2004 commited on
Commit
bfce2a9
·
verified ·
1 Parent(s): b56ee61

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +12 -7
Dockerfile CHANGED
@@ -1,26 +1,31 @@
1
  FROM python:3.11-slim
2
 
3
- # HuggingFace Space runs as non-root user 1000
 
4
  RUN useradd -m -u 1000 user
5
- USER user
6
 
 
7
  ENV HOME=/home/user \
8
  PATH=/home/user/.local/bin:$PATH \
9
  PYTHONUNBUFFERED=1 \
10
  PYTHONDONTWRITEBYTECODE=1 \
11
  HF_HOME=/home/user/.cache/huggingface
12
 
13
- WORKDIR /home/user/app
 
 
 
 
 
14
 
15
- # Install deps first (cache layer)
16
  COPY --chown=user requirements.txt .
17
  RUN pip install --no-cache-dir --upgrade pip && \
18
  pip install --no-cache-dir -r requirements.txt
19
 
20
- # Copy app code
21
  COPY --chown=user . .
22
 
23
- # HuggingFace Spaces exposes port 7860
24
  EXPOSE 7860
25
 
26
- CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
 
1
  FROM python:3.11-slim
2
 
3
+ # 1. Setup root-level tasks (Install compiler and create user)
4
+ RUN apt-get update && apt-get install -y build-essential && rm -rf /var/lib/apt/lists/*
5
  RUN useradd -m -u 1000 user
 
6
 
7
+ # 2. Environment Variables
8
  ENV HOME=/home/user \
9
  PATH=/home/user/.local/bin:$PATH \
10
  PYTHONUNBUFFERED=1 \
11
  PYTHONDONTWRITEBYTECODE=1 \
12
  HF_HOME=/home/user/.cache/huggingface
13
 
14
+ WORKDIR $HOME/app
15
+
16
+ # 3. Create cache directories with correct permissions
17
+ RUN mkdir -p $HF_HOME && chown -R user:user $HOME
18
+
19
+ USER user
20
 
21
+ # 4. Install dependencies (Cache Layer)
22
  COPY --chown=user requirements.txt .
23
  RUN pip install --no-cache-dir --upgrade pip && \
24
  pip install --no-cache-dir -r requirements.txt
25
 
26
+ # 5. Copy application code
27
  COPY --chown=user . .
28
 
 
29
  EXPOSE 7860
30
 
31
+ CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]