File size: 1,598 Bytes
e8e4f53
ac667c7
e8e4f53
 
 
 
c7fe3ec
d1fe4b1
 
 
 
 
c7fe3ec
c36dbf9
 
d1fe4b1
e8e4f53
c7fe3ec
 
 
d1fe4b1
 
 
 
 
 
 
db189e6
c7fe3ec
 
 
 
b0c9f76
 
70719be
7c21cde
 
 
d1fe4b1
d886410
c7fe3ec
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
# 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, Git 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/*

# Crée tous les dossiers nécessaires en tant qu'utilisateur root et change la propriété
RUN mkdir -p logs data config server scripts models .kaggle .streamlit llama.cpp/build && \
    chown -R 1000:1000 logs data config server scripts models .kaggle .streamlit llama.cpp/build

# Clone et compile llama.cpp pendant le build
RUN git clone https://github.com/ggerganov/llama.cpp.git
WORKDIR /app/llama.cpp
RUN cmake .. -DLLAMA_CURL=1
RUN cmake --build . --config Release
WORKDIR /app

# Télécharge le modèle GGUF directement dans le Dockerfile
# Vous pouvez ajuster l'URL et le nom du fichier si nécessaire
RUN wget -P models/ "https://huggingface.co/Qwen/Qwen2.5-Coder-1.5B-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

# 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

# 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"]