File size: 1,625 Bytes
e8e4f53
ac667c7
e8e4f53
 
 
 
04eb473
d1fe4b1
 
 
 
 
c7fe3ec
c36dbf9
 
d1fe4b1
e8e4f53
2ea0020
d1fe4b1
 
04eb473
 
d1fe4b1
 
 
db189e6
2ea0020
9557ca2
2ea0020
 
cc5a4a1
c7fe3ec
b0c9f76
 
70719be
7c21cde
 
 
2ea0020
9557ca2
2ea0020
d1fe4b1
d886410
c7fe3ec
2ea0020
7c21cde
e8e4f53
 
 
 
b0c9f76
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
# Utilise une image Python de base
FROM python:3.11-slim

# Définit le répertoire de travail dans le conteneur
WORKDIR /app

# Installe les dépendances du système (outils de compilation et utilitaires)
RUN apt-get update && apt-get install -y \
    build-essential \
    cmake \
    git \
    aria2 \
    wget \
    libcurl4-openssl-dev \
    pkg-config \
    && rm -rf /var/lib/apt/lists/*

# Clone le dépôt llama.cpp, puis compile-le
RUN git clone https://github.com/ggerganov/llama.cpp.git
WORKDIR /app/llama.cpp
RUN mkdir build
WORKDIR /app/llama.cpp/build
RUN cmake .. -DLLAMA_CURL=1
RUN cmake --build . --config Release
WORKDIR /app

# Crée tous les dossiers nécessaires qui n'existent pas encore
RUN mkdir -p logs data config server models .kaggle .streamlit

# Télécharge le modèle GGUF avec la bonne URL
RUN wget -P models/ "https://huggingface.co/ggml-org/Qwen2.5-Coder-1.5B-Q8_0-GGUF/resolve/main/qwen2.5-coder-1.5b-q8_0.gguf"

# Copie tous les fichiers de votre dépôt dans le conteneur
COPY . /app

# Rend le script de démarrage exécutable
RUN chmod +x ./start.sh

# Change la propriété des dossiers à l'utilisateur non-root par défaut (1000:1000)
RUN chown -R 1000:1000 logs data config server models .kaggle .streamlit

# Définit les dossiers de configuration dans le répertoire de travail pour les permissions
ENV KAGGLE_CONFIG_DIR=/app
ENV STREAMLIT_SERVER_INFO_DIR=/app/.streamlit
ENV STREAMLIT_BROWSER_GATHER_USAGE_STATS=false

# Installe les dépendances Python
RUN pip install --no-cache-dir -r requirements.txt

# Définit le point d'entrée du conteneur
ENTRYPOINT ["/app/start.sh"]