backend / Dockerfile
suhaib0edu's picture
Update Dockerfile
e9a3a5e verified
# استخدم صورة Python كأساس
FROM python:3.12-slim
# تعيين مجلد العمل داخل الحاوية
WORKDIR /app
# نسخ ملف المتطلبات وتثبيتها
COPY requirements.txt /app/
RUN pip install --no-cache-dir -r requirements.txt
# نسخ ملفات المشروع إلى الحاوية
COPY . /app/
# تنفيذ الترحيلات
RUN python manage.py makemigrations accounts && \
python manage.py migrate
RUN chmod -R 777 /app
RUN chmod 777 /app/db.sqlite3
# إنشاء مستخدم سوبر تلقائيًا
ARG SUPERUSER_NAME=s1
ARG SUPERUSER_EMAIL=s1@gmail.com
ARG SUPERUSER_PASSWORD=s1@gmail.com
RUN python manage.py shell -c "\
from django.contrib.auth import get_user_model; \
User = get_user_model(); \
User.objects.filter(username='${SUPERUSER_NAME}').exists() or \
User.objects.create_superuser('${SUPERUSER_NAME}', '${SUPERUSER_EMAIL}', '${SUPERUSER_PASSWORD}')"
# إعداد منفذ Django الافتراضي
EXPOSE 7860
# أمر التشغيل
CMD ["python", "manage.py", "runserver", "0.0.0.0:7860"]