ButterM40 commited on
Commit
67ba315
·
1 Parent(s): 047539f

Simplify Dockerfile: back to basics for reliable Spaces build

Browse files
Files changed (2) hide show
  1. Dockerfile +8 -24
  2. requirements.txt +1 -2
Dockerfile CHANGED
@@ -1,9 +1,6 @@
1
  # Use Python 3.11 slim image
2
  FROM python:3.11-slim
3
 
4
- # Set noninteractive to avoid prompts
5
- ENV DEBIAN_FRONTEND=noninteractive
6
-
7
  # Set working directory
8
  WORKDIR /code
9
 
@@ -11,34 +8,21 @@ WORKDIR /code
11
  ENV PORT=7860
12
  ENV PYTHONPATH=/code
13
  ENV TRANSFORMERS_CACHE=/code/.cache/transformers
14
- ENV PIP_DEFAULT_TIMEOUT=100
15
 
16
- # Install system dependencies commonly required to build wheels
17
  RUN apt-get update && \
18
  apt-get install -y --no-install-recommends \
19
- build-essential \
20
- git \
21
- curl \
22
- ca-certificates \
23
- pkg-config \
24
- libsndfile1 \
25
- libgl1 \
26
- libglib2.0-0 \
27
- python3-dev \
28
- libffi-dev \
29
- libssl-dev \
30
  && rm -rf /var/lib/apt/lists/*
31
 
32
  # Copy requirements first for better caching
33
  COPY requirements.txt .
34
 
35
- # Upgrade pip and install torch CPU wheel first (using known working version)
36
- RUN pip install --no-cache-dir --upgrade pip setuptools wheel && \
37
- pip install --no-cache-dir torch==2.1.0+cpu torchvision==0.16.0+cpu --index-url https://download.pytorch.org/whl/cpu
38
-
39
- # Install remaining dependencies preferring binary wheels
40
- RUN pip install --no-cache-dir --prefer-binary -r requirements.txt || \
41
- (echo "Initial pip install failed, retrying without --prefer-binary" && pip install --no-cache-dir -r requirements.txt)
42
 
43
  # Copy the rest of the application
44
  COPY . .
@@ -46,7 +30,7 @@ COPY . .
46
  # Create cache directory for transformers
47
  RUN mkdir -p /code/.cache/transformers
48
 
49
- # Make port available
50
  EXPOSE 7860
51
 
52
  # Run the FastAPI server
 
1
  # Use Python 3.11 slim image
2
  FROM python:3.11-slim
3
 
 
 
 
4
  # Set working directory
5
  WORKDIR /code
6
 
 
8
  ENV PORT=7860
9
  ENV PYTHONPATH=/code
10
  ENV TRANSFORMERS_CACHE=/code/.cache/transformers
 
11
 
12
+ # Install system dependencies
13
  RUN apt-get update && \
14
  apt-get install -y --no-install-recommends \
15
+ build-essential \
16
+ git \
 
 
 
 
 
 
 
 
 
17
  && rm -rf /var/lib/apt/lists/*
18
 
19
  # Copy requirements first for better caching
20
  COPY requirements.txt .
21
 
22
+ # Add torch back to requirements and install everything together
23
+ RUN pip install --no-cache-dir --upgrade pip && \
24
+ pip install --no-cache-dir torch==2.1.0 transformers==4.46.3 && \
25
+ pip install --no-cache-dir -r requirements.txt
 
 
 
26
 
27
  # Copy the rest of the application
28
  COPY . .
 
30
  # Create cache directory for transformers
31
  RUN mkdir -p /code/.cache/transformers
32
 
33
+ # Make port 7860 available
34
  EXPOSE 7860
35
 
36
  # Run the FastAPI server
requirements.txt CHANGED
@@ -3,8 +3,7 @@ fastapi==0.115.5
3
  uvicorn[standard]==0.32.1
4
  pydantic==2.10.2
5
 
6
- # Transformers and ML (torch installed separately in Dockerfile)
7
- transformers==4.46.3
8
  accelerate>=0.26.0
9
 
10
  # Tokenizers
 
3
  uvicorn[standard]==0.32.1
4
  pydantic==2.10.2
5
 
6
+ # Transformers and ML
 
7
  accelerate>=0.26.0
8
 
9
  # Tokenizers