🚀 استضافة n8n ذاتيًا باستخدام Docker (دليل المبتدئين الكامل)
استضف نظام الأتمتة n8n على خادم Ubuntu باستخدام Docker و Cloudflare بسرعة وأمان وبدون تكلفة.
هل تريد بناء نظام أتمتة خاص بك — بدون دفع اشتراكات سحابية؟
في هذا الدليل، سأشرح لك خطوة بخطوة كيفية استضافة n8n على خادم Ubuntu خاص بك باستخدام Docker وCloudflare Tunnel.
الطريقة سريعة، آمنة، وسهلة حتى للمبتدئين.
إذا كنت تفضل المشاهدة بدل القراءة، يمكنك متابعة الدرس التطبيقي الكامل على قناتي في يوتيوب، حيث أشرح كل خطوة بصرياً.
🧰 المتطلبات الأساسية
قبل البدء، تأكد من توفر ما يلي:
- نظام Ubuntu 20.04 أو أحدث (يفضل 24.04 LTS)
- حساب مستخدم يمتلك صلاحيات sudo
- معرفة أساسية باستخدام ال Terminal
- (اختياري) حساب في Cloudflare إذا كنت تريد جعل إعدادك متاحاً عبر الإنترنت بشكل آمن
🐳 الخطوة 1: تثبيت Docker Engine وDocker Compose
يُسهل Docker تشغيل التطبيقات داخل حاويات معزولة.
لتثبيته على Ubuntu، نفّذ الأوامر التالية:
sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker --version
sudo docker compose versionهذه الأوامر تقوم بتثبيت Docker وDocker Compose على الخادم (VPS).
✅ معلومة: باستخدام Docker ستتمكن لاحقاً من تشغيل n8n وقواعد البيانات وأدوات أخرى بأمر واحد فقط.

📦 الخطوة 2: تنزيل بيانات n8n Self-Hosting من GitHub
حمّل الإعداد المجهز مسبقاً مباشرةً من GitHub:
cd ~
git clone https://github.com/Bme-Adib/n8nSelfHosting.git
cd n8nSelfHostingهذا المستودع يحتوي على كل ما تحتاجه — بما في ذلك ملف docker-compose.yml — لتشغيل n8n فوراً.
🚀 الخطوة 3: تشغيل n8n
لتشغيل n8n، نفّذ الأمر التالي:
docker compose up -dوسيتم تنزيل الصور المطلوبة وتشغيل الخدمة تلقائياً.
يمكنك الوصول إليها عبر:
htttp://localhost:5678أو على الخادم:
http://YOUR_SERVER_IP:5678🧩 ملاحظة: إذا كنت تنوي استخدام تكاملات Google مثل Gmail أو Sheets، فستحتاج إلى اسم نطاق فعّال، لأن Google لا تسمح باستخدام عنوان IP فقط.
☁️ إعداد Cloudflare Tunnel (اختياري لكنه موصى به)
إذا كنت ترغب في جعل n8n متاحاً عبر الإنترنت بأمان دون فتح المنافذ، فإن Cloudflare Tunnel هو الخيار الأفضل.
1. تثبيت Cloudflared
sudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | \
sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] \
https://pkg.cloudflare.com/cloudflared $(lsb_release -cs) main" | \
sudo tee /etc/apt/sources.list.d/cloudflared.list
sudo apt update && sudo apt install cloudflared -y2. تسجيل الدخول إلى Cloudflare
cloudflared tunnel loginملاحظة:سيتم فتح المتصفح لتسجيل الدخول إلى حساب Cloudflare واختيار النطاق المطلوب.
سيتم حفظ بيانات الاعتماد في~/.cloudflared.
3. إنشاء وإعداد النفق
أنشئ النفق بالأمر:
cloudflared tunnel create my-tunnelاستبدل my-tunnel باسم من اختيارك.
✅ عند إنشاء النفق، سيظهر Tunnel ID — انسخه لأننا سنحتاجه لاحقاً.

ثم حرّر ملف الإعداد:
sudo nano /etc/cloudflared/config.ymlمثال:
tunnel: <TUNNEL-ID>
credentials-file: /root/.cloudflared/<TUNNEL-ID>.json
ingress:
- hostname: n8n.mydomain.com
service: http://localhost:5678
- service: http_status:404ثم اضغط Ctrl + X ثم Y ثم Enter.
استبدل:<TUNNEL-ID>بالمعرّف الخاص بكmydomain.comبنطاقك الحقيقي
بعد ذلك نفّذ:
cloudflared tunnel route dns my-tunnel n8n.mydomain.comوأخيراً ثبّت الخدمة لتعمل تلقائياً عند الإقلاع:
sudo cloudflared service installالآن يمكنك الوصول إلى n8n عبر:
https://n8n.mydomain.com🧩 إعداد متقدم – تشغيل خدمات متعددة
إذا أردت تشغيل أكثر من خدمة من خلال Cloudflare Tunnel، أضفها في قسم ingress:
tunnel: <TUNNEL-ID>
credentials-file: /root/.cloudflared/<TUNNEL-ID>.json
ingress:
- hostname: n8n.mydomain.com
service: http://localhost:5678
- hostname: chat.mydomain.com
service: http://localhost:3000
- hostname: crm.mydomain.com
service: http://localhost:8080
- service: http_status:404
🏁 الخاتمة
لقد قمت الآن بإعداد نظام n8n ذاتي الاستضافة باستخدام Docker، وربطته اختيارياً عبر Cloudflare Tunnel بشكل آمن.
هذا الإعداد يمنحك تحكماً كاملاً، وخصوصية عالية، وإمكانية توسّع دون أي تكاليف شهرية.
لمشاهدة التطبيق العملي خطوة بخطوة، يمكنك متابعة الدرس الكامل على قناتي في YouTube.
✉️ هل تحتاج إلى مساعدة أو ترغب في التعاون؟
إذا كنت تحتاج إلى مساعدة في إعداد هذا النظام أو لديك أي استفسار، يمكنك التواصل معي من خلال
نموذج التواصل على موقعي.
وإذا كنت ترغب في التعاون في مشاريع تتعلق بالأتمتة أو الذكاء الاصطناعي أو برمجة Java، فلا تتردد بالتواصل عبر نموذج الاستشارة.