Genisi-v3 / Dockerfile
AnesKAM's picture
Update Dockerfile
a3c5246 verified
# استخدام صورة Python رسمية
FROM python:3.10-slim
# تثبيت حزم النظام الضرورية
RUN apt-get update && apt-get install -y \
gcc \
curl \
&& rm -rf /var/lib/apt/lists/*
# تعيين متغيرات البيئة
ENV PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1 \
PORT=7860
# إنشاء مستخدم غير جذري
RUN useradd -m -u 1000 genisi && \
mkdir -p /app /home/genisi/.cache && \
chown -R genisi:genisi /app /home/genisi/.cache
# التبديل إلى المستخدم الجذري للتثبيت
USER root
# تعيين مجلد العمل
WORKDIR /app
# نسخ ملف المتطلبات أولاً (للاستفادة من طبقة التخزين المؤقت)
COPY --chown=genisi:genisi requirements.txt .
# تثبيت المتطلبات
RUN pip install --no-cache-dir -r requirements.txt
# نسخ باقي الملفات
COPY --chown=genisi:genisi . .
# التبديل إلى المستخدم غير الجذري
USER genisi
# تعريف المنفذ
EXPOSE 7860
# أمر التشغيل
CMD ["python", "app.py"]