# 1. سحب أداة Ngrok من صورتها الرسمية لتجنب مشاكل التحميل FROM ngrok/ngrok:latest AS ngrok-agent # 2. صورة n8n الرسمية FROM n8nio/n8n:latest USER root # 3. نقل ملف Ngrok التنفيذي وتجهيز الصلاحيات COPY --from=ngrok-agent /bin/ngrok /usr/local/bin/ngrok RUN chmod +x /usr/local/bin/ngrok # 4. إعدادات n8n لربط الدومين وحل مشكلة الـ localhost والـ Webhooks ENV N8N_PORT=7860 ENV N8N_PROTOCOL=https ENV WEBHOOK_URL=https://oren-unmeant-semispeculatively.ngrok-free.dev/ ENV N8N_EDITOR_BASE_URL=https://oren-unmeant-semispeculatively.ngrok-free.dev/ # مسارات البيانات الأصلية بتاعتك ENV N8N_USER_ID=1000 ENV N8N_CONFIG_FILES=/home/node/.n8n/config # 5. التبديل للمستخدم 1000 لضمان عمل الـ Health Check في Hugging Face USER 1000 # 6. التشغيل باستخدام tini والـ entrypoint الأصلي مع تشغيل النفق في الخلفية ENTRYPOINT ["tini", "--"] # هنعدل الـ CMD الأخير بس عشان يضيف الـ Header اللي بيلغي صفحة الـ Pause CMD ["/bin/sh", "-c", "ngrok config add-authtoken $NGROK_AUTHTOKEN && ngrok http --domain=oren-unmeant-semispeculatively.ngrok-free.dev 7860 --request-header-add 'ngrok-skip-browser-warning:true' & /docker-entrypoint.sh"]