File size: 1,927 Bytes
7ba47fe
e88cde7
f2c9828
 
 
933d8b4
f2c9828
 
 
 
ccf220f
b6beebe
f2c9828
 
 
 
 
 
 
 
 
 
 
 
 
b6beebe
452e251
7ba47fe
f2c9828
7ba47fe
 
 
452e251
 
 
f2c9828
452e251
 
 
7ba47fe
f2c9828
 
 
 
ff0f659
 
f2c9828
b6beebe
452e251
 
f2c9828
452e251
e88cde7
452e251
f2c9828
 
 
 
 
 
 
 
e88cde7
 
c83169b
e88cde7
f9cd238
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
FROM nvidia/cuda:12.8.0-cudnn-devel-ubuntu24.04

ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
    apt-get upgrade -y && \
    apt-get install -y --no-install-recommends --fix-missing \
    git \
    git-lfs \
    wget \
    curl \
    cmake \
    # python build dependencies \
    build-essential \
    libssl-dev \
    zlib1g-dev \
    libbz2-dev \
    libreadline-dev \
    libsqlite3-dev \
    libncursesw5-dev \
    xz-utils \
    tk-dev \
    libxml2-dev \
    libxmlsec1-dev \
    libffi-dev \
    liblzma-dev \
    ffmpeg \ 
    libcurl4-openssl-dev \
    nvidia-driver-570

# Check if user with UID 1000 exists, if not create it
RUN id -u 1000 &>/dev/null || useradd -m -u 1000 user
USER 1000
ENV HOME=/app \
    PATH=/app/.local/bin:${PATH}
WORKDIR /app

RUN curl https://pyenv.run | PYENV_ROOT=/app/.pyenv bash
ENV PYENV_ROOT=/app/.pyenv \
    PATH=/app/.pyenv/shims:/app/.pyenv/bin:${PATH}
ARG PYTHON_VERSION=3.11
RUN pyenv install ${PYTHON_VERSION} && \
    pyenv global ${PYTHON_VERSION} && \
    pyenv rehash && \
    pip install --no-cache-dir -U pip setuptools wheel && \
    # pip install "huggingface-hub" "hf-transfer" "gradio[oauth]" "gradio_huggingfacehub_search" "APScheduler"
    pip install "huggingface-hub" "hf-transfer" "gradio[oauth]>=4.28.0" "gradio_huggingfacehub_search==0.0.8" "APScheduler"

COPY --chown=1000 . /app
RUN git clone https://github.com/ggerganov/llama.cpp /app/llama.cpp
RUN pip install -r /app/llama.cpp/requirements.txt

COPY groups_merged.txt /app/llama.cpp/

ENV PYTHONPATH=/app \
    PYTHONUNBUFFERED=1 \
    HF_HUB_ENABLE_HF_TRANSFER=1 \
    GRADIO_ALLOW_FLAGGING=never \
    GRADIO_NUM_PORTS=1 \
    GRADIO_SERVER_NAME=0.0.0.0 \
    GRADIO_THEME=huggingface \
    TQDM_POSITION=-1 \
    TQDM_MININTERVAL=1 \
    SYSTEM=spaces \
    LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH} \
    PATH=/usr/local/nvidia/bin:${PATH}

CMD ["/bin/bash", "start.sh"]