coder-demo / Dockerfile
AhmadA82's picture
fix7
b0a5199 verified
raw
history blame
1.27 kB
# استخدام صورة بايثون خفيفة
FROM python:3.10-slim
# تثبيت الأدوات الأساسية
RUN apt-get update && apt-get install -y \
build-essential \
cmake \
gcc \
g++ \
python3-dev \
&& rm -rf /var/lib/apt/lists/*
# إنشاء مستخدم غير root
RUN useradd -m -u 1000 user
# إنشاء مجلد العمل وتعيين الصلاحيات
WORKDIR /home/user/app
COPY --chown=user . .
# إنشاء المجلدات المطلوبة وتعيين الصلاحيات
RUN mkdir -p /home/user/app/data/cache && \
mkdir -p /home/user/app/data && \
chown -R user:user /home/user/app/data && \
chown -R user:user /tmp
# تفعيل بيئة افتراضية في home وليس داخل المشروع
RUN python -m venv /home/user/venv
ENV PATH="/home/user/venv/bin:$PATH"
# تثبيت المتطلبات
RUN pip install --upgrade pip && \
pip install -r requirements.txt && \
echo "✅ تثبيت المتطلبات ناجح" > /tmp/requirements_install.log || \
echo "❌ فشل تثبيت المتطلبات" > /tmp/requirements_install.log
# استخدام المستخدم غير root
USER user
# تشغيل التطبيق
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]