FROM node:20-slim WORKDIR /app # نسخ ملفات الإعدادات أولاً COPY package*.json ./ COPY tsconfig.json ./ # تسطيب المكتبات RUN npm install # نسخ باقي ملفات المشروع COPY . . # تحويل كود TypeScript إلى JavaScript RUN npm run build # إعطاء الصلاحيات للمستخدم الافتراضي (node) الموجود مسبقاً RUN chown -R node:node /app # التبديل للمستخدم node (وهو بالفعل يحمل رقم 1000 المطلوب) USER node # فتح المنفذ المطلوب EXPOSE 7860 # تشغيل السيرفر CMD ["npm", "start"]