cloudunity commited on
Commit
4a86e79
·
verified ·
1 Parent(s): f2455f5

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +35 -33
Dockerfile CHANGED
@@ -1,47 +1,49 @@
1
- FROM python:3.11-slim
2
 
3
- # System dependencies
4
- RUN apt-get update && apt-get install -y --no-install-recommends \
5
- build-essential \
6
- libgl1 \
7
- libglib2.0-0 \
8
- && rm -rf /var/lib/apt/lists/*
9
 
10
  WORKDIR /app
11
 
12
- COPY requirements.txt /app/requirements.txt
13
- RUN pip install --no-cache-dir --upgrade pip
14
-
15
- # CPU-only torch
16
- RUN pip install --no-cache-dir torch==2.3.1 --index-url https://download.pytorch.org/whl/cpu
 
 
 
17
 
18
- RUN pip install --no-cache-dir -r /app/requirements.txt
19
 
20
- # Create writable cache directories BEFORE switching user
21
- RUN mkdir -p /app/.cache/huggingface/hub /app/models && \
22
- chown -R 1000:1000 /app
 
 
 
 
 
 
 
 
 
 
 
 
 
23
 
24
- # Non-root user
25
- RUN useradd -m -u 1000 appuser || true
26
 
27
- # Pre-download model
28
- ARG IMAGE_MODEL=stabilityai/sd-turbo
29
- ENV IMAGE_MODEL=${IMAGE_MODEL}
30
- ENV HF_HOME=/app/.cache/huggingface
31
- ENV TRANSFORMERS_CACHE=/app/.cache/huggingface
32
- ENV HF_HUB_ENABLE_HF_TRANSFER=0
33
- RUN python -m huggingface_hub.commands.huggingface_cli download ${IMAGE_MODEL} --local-dir /app/models/sd-turbo
34
 
35
- COPY server.py /app/server.py
36
- RUN chown 1000:1000 /app/server.py
37
 
38
- ENV MODEL_LOCAL_DIR=/app/models/sd-turbo
39
- ENV DEFAULT_STEPS=4
40
- ENV DEFAULT_GUIDANCE=1.0
41
- ENV PYTHONUNBUFFERED=1
42
 
43
- USER 1000
44
 
45
  EXPOSE 7860
46
 
47
- CMD ["python", "server.py"]
 
 
1
+ FROM python:3.12-slim
2
 
3
+ ENV DEBIAN_FRONTEND=noninteractive
4
+ ENV PYTHONUNBUFFERED=1
5
+ ENV PIP_NO_CACHE_DIR=1
 
 
 
6
 
7
  WORKDIR /app
8
 
9
+ RUN apt-get update && apt-get install -y --no-install-recommends \
10
+ git \
11
+ cmake \
12
+ build-essential \
13
+ curl \
14
+ ca-certificates \
15
+ libgomp1 \
16
+ && rm -rf /var/lib/apt/lists/*
17
 
 
18
 
19
+ # Build llama.cpp for CPU.
20
+ RUN git clone --depth 1 https://github.com/ggml-org/llama.cpp.git /tmp/llama.cpp \
21
+ && cmake -S /tmp/llama.cpp -B /tmp/llama.cpp/build \
22
+ -DGGML_NATIVE=OFF \
23
+ -DGGML_OPENMP=ON \
24
+ -DLLAMA_BUILD_SERVER=ON \
25
+ -DLLAMA_BUILD_TESTS=OFF \
26
+ -DLLAMA_BUILD_EXAMPLES=ON \
27
+ && cmake --build /tmp/llama.cpp/build \
28
+ --config Release \
29
+ --target llama-server \
30
+ -j2 \
31
+ && mkdir -p /opt/llama \
32
+ && cp /tmp/llama.cpp/build/bin/llama-server /opt/llama/llama-server \
33
+ && cp /tmp/llama.cpp/build/bin/*.so* /opt/llama/ 2>/dev/null || true \
34
+ && rm -rf /tmp/llama.cpp
35
 
 
 
36
 
37
+ # Hugging Face downloader.
38
+ RUN pip install --upgrade pip \
39
+ && pip install huggingface_hub
 
 
 
 
40
 
 
 
41
 
42
+ COPY start.sh /app/start.sh
43
+ RUN chmod +x /app/start.sh
 
 
44
 
 
45
 
46
  EXPOSE 7860
47
 
48
+
49
+ CMD ["/app/start.sh"]