Spaces:
Paused
Paused
Create Dockerfile
Browse files- Dockerfile +34 -0
Dockerfile
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# THE Z AI — Computer Mode Server v20 "Headless-Native"
|
| 2 |
+
# أخف بكثير من Dockerfile السابق: لا حاجة لـ Xvfb, xdotool, ImageMagick,
|
| 3 |
+
# x11-apps, أو python-xlib — Chromium بوضع headless=new يغني عن كل ذلك
|
| 4 |
+
# (لا X server منفصل، لا أدوات التقاط شاشة خارجية).
|
| 5 |
+
|
| 6 |
+
FROM python:3.11-slim
|
| 7 |
+
|
| 8 |
+
# فقط Chromium نفسه + مكتبات النظام التي يحتاجها ليعمل بدون واجهة رسومية
|
| 9 |
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
| 10 |
+
chromium \
|
| 11 |
+
fonts-liberation \
|
| 12 |
+
fonts-noto \
|
| 13 |
+
fonts-noto-cjk \
|
| 14 |
+
ca-certificates \
|
| 15 |
+
curl \
|
| 16 |
+
&& rm -rf /var/lib/apt/lists/*
|
| 17 |
+
|
| 18 |
+
WORKDIR /app
|
| 19 |
+
|
| 20 |
+
COPY requirements.txt .
|
| 21 |
+
RUN pip install --no-cache-dir -r requirements.txt
|
| 22 |
+
|
| 23 |
+
COPY app.py .
|
| 24 |
+
|
| 25 |
+
# مستخدم غير root (مطلوب لتشغيل Chromium بأمان بدون --no-sandbox في بعض البيئات،
|
| 26 |
+
# لكن نبقي --no-sandbox في app.py لأن الحاويات المُدارة مثل HF Spaces عادة تمنع
|
| 27 |
+
# إنشاء namespaces اللازمة لـ sandbox الكامل لـ Chromium على أي حال)
|
| 28 |
+
RUN useradd -m -u 1000 zai
|
| 29 |
+
USER zai
|
| 30 |
+
ENV HOME=/home/zai
|
| 31 |
+
|
| 32 |
+
EXPOSE 7860
|
| 33 |
+
|
| 34 |
+
CMD ["python3", "app.py"]
|