File size: 1,745 Bytes
6ce6322
2697da3
 
 
6ce6322
 
 
 
 
 
 
 
 
 
 
 
2697da3
 
6ce6322
 
2697da3
6ce6322
 
 
 
 
 
2697da3
6ce6322
 
2697da3
c2805ad
 
 
6ce6322
 
2697da3
6ce6322
2697da3
6ce6322
 
 
300ec5c
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
# ===================================================================
# Open WebUI + llama.cpp
# المرحلة الأولى: واجهة تحميل النماذج (model_setup.py)
# المرحلة الثانية: llama.cpp + Open WebUI (بعد اختيار النموذج)
# ===================================================================
FROM ghcr.io/open-webui/open-webui:main

# ------------------------------------------------------------------
# متغيرات البيئة
# ------------------------------------------------------------------
ENV MODELS_DIR=/data/models
ENV DATA_DIR=/data/webui
ENV PORT=7860
ENV HOST=0.0.0.0
ENV ENABLE_OLLAMA_API=false
ENV ENABLE_OPENAI_API=true
ENV OPENAI_API_BASE_URL=http://localhost:8080/v1
ENV OPENAI_API_KEY=sk-llama-cpp-local

# ------------------------------------------------------------------
# المتطلبات — libgomp1 فقط (لا حاجة لأدوات بناء)
# ------------------------------------------------------------------
RUN apt-get update && apt-get install -y --no-install-recommends \
    curl \
    libgomp1 \
    && rm -rf /var/lib/apt/lists/*

# تحديث huggingface_hub للحصول على أمر hf الجديد
RUN pip install -U huggingface_hub --no-cache-dir

# تثبيت llama-cpp-python من pre-built wheel (ثوانٍ، لا تترجيم)
RUN pip install llama-cpp-python[server] \
    --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cpu \
    --no-cache-dir

# ------------------------------------------------------------------
# ملفات التطبيق
# ------------------------------------------------------------------
COPY model_setup.py /app/model_setup.py
COPY run.sh /app/run.sh
RUN chmod +x /app/run.sh

CMD ["/app/run.sh"]