نشر n8n مجانًا على مساحات Hugging Face

Ashley Innocent

Ashley Innocent

28 نوفمبر 2025

نشر n8n مجانًا على مساحات Hugging Face

غالبًا ما يبحث المطورون وعشاق الأتمتة عن طرق فعالة من حيث التكلفة لاستضافة أدوات سير العمل مثل n8n، منصة الأتمتة مفتوحة المصدر التي تربط التطبيقات والخدمات بسلاسة. لحسن الحظ، يقدم Hugging Face Spaces طبقة مجانية قوية توفر 2 vCPU و 16 جيجابايت من ذاكرة الوصول العشوائي (RAM) و 50 جيجابايت من مساحة القرص، مما يتيح لك نشر n8n دون تكبد نفقات أو إدارة بنية تحتية معقدة. يرشدك هذا الدليل خلال العملية بأكملها، بدءًا من إعداد قاعدة بيانات Supabase وصولاً إلى تكوين متغيرات البيئة واستكشاف المشكلات الشائعة.

💡
أثناء قيامك بإنشاء سير عمل n8n الخاص بك، من المحتمل أن تقوم بدمج واجهات برمجة التطبيقات الخارجية لتبادل البيانات. لتبسيط اختبار وتوثيق واجهة برمجة التطبيقات أثناء التطوير، قم بتنزيل Apidog مجانًا - إنها أداة أساسية تكمل n8n من خلال السماح لك بمحاكاة نقاط النهاية، والتحقق من الاستجابات، والتعاون في تصميمات واجهة برمجة التطبيقات جنبًا إلى جنب مع أتمتتك. قم بتنزيل Apidog الآن وعزز كفاءة النشر لديك منذ البداية.
زر

لماذا تختار Hugging Face Spaces لنشر n8n مجانًا؟

يُحدث Hugging Face Spaces ثورة في كيفية استضافة المطورين لنماذج وتطبيقات التعلم الآلي، لكن تنوع استخداماته يمتد إلى أدوات أتمتة سير العمل مثل n8n. على عكس مزودي VPS التقليديين الذين يفرضون رسومًا على النطاق الترددي أو التخزين، يوفر Hugging Face طبقة مجانية سخية تدعم عمليات النشر المستمرة. وبالتالي، فإنك تتجنب أعباء تنظيم Docker أو توفير الخوادم، وتركز بدلاً من ذلك على منطق سير العمل.

علاوة على ذلك، يزدهر n8n في هذه البيئة لأنه يتطلب الحد الأدنى من الموارد لمعظم حالات الاستخدام الشخصي أو الخاصة بالفرق الصغيرة. ومع الدعم المدمج لقواعد بيانات PostgreSQL، يمكنك إقرانها بسهولة مع خدمات مجانية مثل Supabase، مما يضمن استمرارية البيانات عبر الجلسات. ومع ذلك، تدخل المساحات في وضع السكون بعد 48 ساعة من عدم النشاط، وهو ما سنتناوله لاحقًا باستراتيجيات استباقية.

يعزز النشر على Hugging Face إمكانية الاكتشاف. يصبح عنوان URL لمساحتك، مثل https://yourusername-n8n.hf.space، موردًا قابلاً للمشاركة تقوم محركات البحث بفهرسته بسرعة. بالإضافة إلى ذلك، فإن دمج سير عمل n8n لأتمتة المحتوى - فكر في خلاصات RSS إلى منشورات المدونة - يضع موقعك في مرتبة أعلى في الاستعلامات ذات الصلة. وبالتالي، فإن هذا الإعداد لا يوفر التكاليف فحسب، بل يعزز أيضًا وجودك على الإنترنت.

باختصار، يوفر Hugging Face Spaces قابلية التوسع والبساطة، مما يجعله مثاليًا للمطورين الذين يبحثون عن "نشر n8n مجانًا". بعد ذلك، سنقوم بإعداد طبقة قاعدة البيانات الأساسية.

المتطلبات الأساسية: الحسابات والأدوات الأساسية لنشر n8n

قبل الشروع في النشر، قم بجمع الحسابات الضرورية وإنشاء بيانات اعتماد آمنة. تضمن مرحلة الإعداد هذه التنفيذ السلس وتقليل الأخطاء أثناء التكوين.

أولاً، أنشئ حساب Hugging Face مجاني على huggingface.co/join. اختر اسم ملف تعريف لا يُنسى، حيث إنه يشكل جزءًا من عنوان URL لنشرك (مثل yourprofile-n8n.hf.space). تحقق من بريدك الإلكتروني لفتح امتيازات إنشاء Space.

ثانياً، اشترك في Supabase على supabase.com/dashboard/sign-up. توفر Supabase نسخة PostgreSQL مُدارة بسعة تخزين 500 ميجابايت وطلبات API غير محدودة على الخطة المجانية - وهي مثالية لبيانات سير عمل n8n. أثناء التسجيل، احفظ كلمة مرور قاعدة البيانات الخاصة بك بأمان، حيث لن تتمكن من استعادتها بسهولة.

بمجرد تسجيل الدخول إلى Supabase، قم بإنشاء مشروع جديد. اسميه بشكل وصفي، مثل "n8n-prod-db"، وقم بتعيين كلمة مرور قوية. انتظر حتى يتم تهيئة المشروع، والتي تستغرق عادة من 2-3 دقائق. ثم، انتقل إلى قسم "Connect" في لوحة تحكم مشروعك.

هنا، حدد تنسيق سلسلة اتصال SQLAlchemy ضمن "مجمع المعاملات" للحصول على الأداء الأمثل مع n8n. استخرج هذه التفاصيل الرئيسية:

احفظ هذه التفاصيل في تطبيق آمن لتدوين الملاحظات، مثل مدير كلمات المرور، لتجنب التعرض.

بالإضافة إلى ذلك، قم بإنشاء مفتاح تشفير لتعامل n8n مع البيانات الحساسة. افتح طرفيتك وقم بتشغيل:

openssl rand -base64 32

ينتج هذا الأمر سلسلة عشوائية بحجم 32 بايت، مثل aXNDkPqW3mZ8vL5rT7uY2bN4jH6kM9pQ1sE0wR3tF2yG. انسخها حرفياً للاستخدام لاحقاً.

أخيرًا، تعرف على أساسيات n8n إذا كنت جديدًا. قم بتثبيت إصدار سطح المكتب مؤقتًا عبر npm install -g n8n لاختبار سير العمل محليًا، مما يضمن التوافق. مع توفر هذه المتطلبات الأساسية، فإنك تبسط عملية النشر، مما يقلل من وقت التوقف المحتمل.

بالانتقال بسلاسة، دعنا نقوم بتكوين قاعدة بيانات Supabase لدعم متطلبات مخطط n8n.

إعداد Supabase PostgreSQL: العمود الفقري لسير عمل n8n المستمر

تبسط Supabase إدارة قواعد البيانات عن طريق تجريد تعقيدات PostgreSQL، ومع ذلك يجب عليك تكوينها بدقة لدمج n8n. يعتمد n8n على PostgreSQL لتخزين سير العمل وعمليات التنفيذ وبيانات الاعتماد، لذا فإن أي خطأ هنا يؤدي إلى فشل التهيئة.

ابدأ بالوصول إلى لوحة تحكم مشروع Supabase الخاص بك. انقر فوق "SQL Editor" لتشغيل استعلامات التهيئة. يتوقع n8n جداول وفهارس محددة للحصول على الأداء الأمثل؛ ومع ذلك، يقوم Supabase بإنشائها تلقائيًا عند الاتصال الأول إذا قمت بتمكين أمان مستوى الصف (RLS) بحكمة.

لتعزيز الأمان، قم بتمكين RLS على الجداول الأساسية مثل workflow_entity و execution_entity. قم بتنفيذ مقتطف SQL هذا في المحرر:

-- Enable RLS on key tables
ALTER TABLE workflow_entity ENABLE ROW LEVEL SECURITY;
ALTER TABLE execution_entity ENABLE ROW LEVEL SECURITY;
ALTER TABLE credentials_entity ENABLE ROW LEVEL SECURITY;

-- Create a policy for authenticated access (Supabase handles auth via JWT)
CREATE POLICY "Users can view own workflows" ON workflow_entity
FOR ALL USING (auth.uid() = user_id);

-- Similar policies for other entities
CREATE POLICY "Users can manage own executions" ON execution_entity
FOR ALL USING (auth.uid() = created_by_id);

احفظ وقم بتشغيل الاستعلام. تمنع هذه السياسات الوصول غير المصرح به، وتتوافق مع إمكانيات n8n متعددة المستخدمين.

بعد ذلك، قم بتكوين تجميع الاتصالات. في إعدادات Supabase، قم بتبديل مجمع المعاملات إلى "تشغيل" ضمن Database > Connection Pooling. يستخدم هذا الوضع المنفذ 6543، ويوزع الحمل عبر مشغلات الويب هوك المتزامنة في n8n. اختبر الاتصال باستخدام أداة مثل pgAdmin أو عميل Supabase المدمج:

psql "postgresql://postgres:[YOUR_PASSWORD]@db.yourproject.supabase.co:6543/postgres"

إذا نجح الأمر، سترى المطالبة postgres=#. قم بتشغيل \dt لسرد الجداول، مؤكدًا وجود مخطط فارغ جاهز لـ n8n.

لتحسين محركات البحث في سير عملك، ضع في اعتبارك إضافة جداول بيانات وصفية مخصصة. على سبيل المثال، قم بتخزين كلمات مفتاحية لتحسين محركات البحث لكل سير عمل:

CREATE TABLE seo_metadata (
    id SERIAL PRIMARY KEY,
    workflow_id INTEGER REFERENCES workflow_entity(id),
    keywords TEXT[],
    title VARCHAR(255),
    description TEXT
);

يتيح هذا التوسع لـ n8n أتمتة إنشاء العلامات الوصفية للمدونات، مما يعزز تصنيفات البحث.

بالإضافة إلى ذلك، راقب الاستخدام عبر لوحة تحكم تحليلات Supabase. تحدد الطبقة المجانية 50,000 صف نشط شهريًا، وهو ما يكفي لأكثر من 100 سير عمل. إذا اقتربت من الحدود، ينبهك Supabase بشكل استباقي.

مع قاعدة البيانات المحصنة، تابع تكرار Hugging Face Space - بوابتك إلى نسخة n8n مباشرة.

النشر خطوة بخطوة: تكرار وتكوين مساحة n8n الخاصة بك على Hugging Face

الآن، ستقوم بتنفيذ عملية النشر الأساسية. ميزة "Duplicate this Space" في Hugging Face تقوم بنسخ قالب n8n مُعد مسبقًا، مما يسرع عملية الإعداد إلى أقل من 10 دقائق.

انتقل إلى قالب Space على huggingface.co/spaces/tomowang/n8n. انقر على زر "Duplicate this Space" البارز. يقوم هذا الإجراء بنسخ المستودع، بما في ذلك Dockerfile و app.py (لخدمة Streamlit-like) وثنائيات n8n.

في مربع حوار التكرار، حدد ما يلي:

بعد ذلك، قم بتكوين متغيرات البيئة ضمن علامة التبويب "Variables and Secrets". تتحكم هذه المعلمات في سلوك n8n أثناء التشغيل. املأ الجدول على النحو التالي:

المتغير القيمة/مثال الوصف
DB_POSTGRESDB_PASSWORD كلمة مرور قاعدة بيانات Supabase الخاصة بك (مثلاً، s3cur3P@ssw0rd) يصادق الوصول إلى قاعدة البيانات. ضع علامة سرية.
DB_POSTGRESDB_USER مستخدم Supabase (مثلاً، postgres) اسم مستخدم قاعدة البيانات للاتصالات.
DB_POSTGRESDB_HOST مضيف Supabase (مثلاً، db.yourproject.supabase.co) نقطة نهاية الخادم.
DB_POSTGRESDB_PORT 6543 منفذ مجمع لتوفر عالٍ.
DB_POSTGRESDB_DATABASE postgres اسم قاعدة البيانات الافتراضي.
N8N_ENCRYPTION_KEY المفتاح الذي تم إنشاؤه (مثلاً، aXNDkPqW3mZ8vL5rT7uY2bN4jH6kM9pQ1sE0wR3tF2yG) يقوم بتشفير بيانات الاعتماد والبيانات الحساسة.
WEBHOOK_URL https://yourprofile-n8n.hf.space/ عنوان URL الأساسي للويب هوك الواردة. يتضمن شرطة مائلة في النهاية.
N8N_EDITOR_BASE_URL https://yourprofile-n8n.hf.space/ نقطة وصول واجهة المستخدم؛ تتطابق مع الويب هوك للاتساق.
N8N_VERSION stable أو محدد (مثلاً، 1.0.0) يثبت إصدار n8n؛ يعاد التشغيل تلقائيًا عند التغيير.
GENERIC_TIMEZONE UTC أو America/New_York يضبط الطوابع الزمنية لسير العمل.
TZ يتطابق مع GENERIC_TIMEZONE تجاوز المنطقة الزمنية للنظام.
NODE_ENV production يمكن التحسينات ورؤوس الأمان.

ضع علامة على المتغيرات الحساسة (كلمة المرور، المفتاح) كأسرار لتشفيرها في المستودع. انقر فوق "Duplicate Space" لبدء الإنشاء. يقوم Hugging Face بتجميع صورة Docker، وتثبيت التبعيات (Node.js، n8n)، وتهيئة قاعدة البيانات - راقب التقدم في علامة التبويب "Settings".

عند الانتهاء (5-10 دقائق)، ادخل إلى نسختك على N8N_EDITOR_BASE_URL. ستصادفك لوحة تحكم n8n البديهية، التي تطلب إعداد حساب المالك. أنشئ بيانات الاعتماد بكلمة مرور قوية، مع تمكين إشعارات البريد الإلكتروني إذا رغبت في ذلك.

للتحقق، قم بتنشيط سير عمل تجريبي: اربط عقدة cron بمُنبِّه Slack. نفذه يدويًا؛ تحقق من سجلات Supabase للإدراج. يؤكد النجاح الوظائف الشاملة.

لتحسين محركات البحث، قم بتضمين العلامات الوصفية في ملف index.html الخاص بمساحتك إذا كنت تقوم بتخصيص واجهة المستخدم:

<meta name="description" content="أتمتة n8n مجانية على Hugging Face Spaces">
<meta name="keywords" content="نشر n8n، أتمتة سير عمل مجانية، دليل Hugging Face">

هذه الممارسة تحسن إمكانية الزحف. مع اكتمال النشر، قم بالتحسين من أجل الموثوقية.

تكوين الويب هوكس و OAuth: تمكين التكاملات الآمنة في نسخة n8n الخاصة بك

بعد النشر، تقوم بدمج n8n مع الخدمات الخارجية عبر الويب هوكس و OAuth، وهما أمران حاسمان للأتمتة الحقيقية مثل مزامنة واجهة برمجة التطبيقات أو النشر الاجتماعي. يؤدي سوء التكوين هنا إلى تعطيل سير العمل، لذا اتبع هذه الخطوات الدقيقة.

ابدأ بالويب هوكس. في n8n، أضف عقدة Webhook إلى سير العمل وقم بتعيين طريقة HTTP إلى POST. يتم ملء عنوان URL للإنتاج تلقائيًا من WEBHOOK_URL، على سبيل المثال، https://yourprofile-n8n.hf.space/webhook/abc123. اختبر عن طريق إرسال حمولة (payload) باستخدام curl:

curl -X POST https://yourprofile-n8n.hf.space/webhook/abc123 \
  -H "Content-Type: application/json" \
  -d '{"test": "data"}'

راقب سجل التنفيذ؛ يؤدي الاستلام الناجح إلى تشغيل العقد اللاحقة. الآن، تعامل مع OAuth لخدمات مثل Google Sheets أو Discord. يتطلب مدير بيانات اعتماد n8n عناوين URL لإعادة التوجيه (redirect URIs) مطابقة لمساحتك. بالنسبة لـ Google:

  1. زر console.cloud.google.com وأنشئ معرف عميل OAuth 2.0 جديدًا.
  2. اضبط عناوين URL لإعادة التوجيه المصرح بها (authorized redirect URIs) على https://yourprofile-n8n.hf.space/rest/oauth2-credential/callback.
  3. في n8n، أضف بيانات اعتماد Google، وأدخل معرف العميل/السر.
  4. صادق؛ يتعامل n8n مع تحديث الرمز المميز عبر تخزين Supabase.

كرر الأمر لـ Discord: يعكس عنوان URL لإعادة التوجيه ما سبق، ويقتصر على bot و applications.commands. تجنب إعادة استخدام بيانات الاعتماد السحابية - يختلف مجال Hugging Face، مما يبطل عمليات الاستدعاء.

استكشف الأخطاء وإصلاحها عبر أدوات المطور في المتصفح: افحص علامات تبويب الشبكة بحثًا عن عمليات إعادة توجيه 302 أو أخطاء 401. اضبط N8N_OAUTH_REDIRECT_URL إذا لزم الأمر، على الرغم من أن عنوان URL الأساسي كافٍ.

تُمكن هذه التكوينات من التكاملات الآمنة والقابلة للتوسع، مما يضمن أن يتعامل نشر n8n الخاص بك مع حركة مرور الإنتاج بفعالية.

منع وضع السكون وضمان وقت تشغيل على مدار الساعة طوال أيام الأسبوع لـ n8n على Hugging Face

تدخل مساحات Hugging Face في وضع السكون بعد 48 ساعة من عدم النشاط، مما يؤدي إلى إيقاف n8n وتعطيل سير العمل المجدولة. يمكنك التخفيف من ذلك بنشاط من خلال عمليات فحص تلقائية (automated pings).

طبق سير عمل للتحقق الذاتي (self-pinging) في n8n: جدولة عقدة cron كل 24 ساعة لتقوم بطلب HTTP GET إلى WEBHOOK_URL/ping الخاص بك. تستجيب نقطة النهاية هذه، التي تُضاف عبر مسار Express بسيط في ملف app.py الخاص بمساحتك، بـ 200 OK، مشيرة إلى وجود نشاط.

لزيادة المتانة، ادمج GitHub Actions. أنشئ ملف .github/workflows/keep-alive.yml في مستودع Space الخاص بك:

name: Keep Alive
on:
  schedule:
    - cron: '0 */12 * * *'  # كل 12 ساعة
  workflow_dispatch:
jobs:
  ping:
    runs-on: ubuntu-latest
    steps:
      - name: فحص المساحة
        run: curl https://yourprofile-n8n.hf.space/ping

قم بالالتزام والدفع (Commit and push)؛ يتم تشغيل Actions من جانب الخادم، متجاوزًا وضع السكون. راقب عبر إشعارات GitHub.

بدلاً من ذلك، استخدم الطبقة المجانية من UptimeRobot لفحص عنوان URL الخاص بك كل 5 دقائق. تضمن هذه الخدمة الخارجية اليقظة دون الحاجة إلى سير عمل داخلي.

استكشاف المشكلات الشائعة وإصلاحها: حل عقبات النشر بكفاءة

حتى مع الإعداد الدقيق، قد تنشأ مشكلات. يمكنك تشخيصها وحلها بشكل منهجي باستخدام سجلات Hugging Face.

المشكلة 1: خطأ 404 عند الوصول. السبب: عدم تطابق اسم المساحة. الحل: في الإعدادات > عام، أعد تسمية المساحة إلى "n8n" وأعد البناء. الرؤية العامة تصلح كتل التضمين.

المشكلة 2: "تحضير المساحة" عالق. السبب: فشل البناء، غالبًا بسبب متغيرات بيئة غير صالحة. الحل: تحقق من سجلات البناء بحثًا عن أخطاء في بناء الجملة (مثل كلمات المرور غير المحصنة). صحح وكرر من جديد.

المشكلة 3: فقدان اتصال قاعدة البيانات. السبب: بيانات اعتماد Supabase أو منفذ غير صحيح. الحل: تحقق باستخدام اختبار psql. حدث المنفذ إلى 6543؛ أعد تشغيل المساحة.

المشكلة 4: فشل OAuth. السبب: عنوان URL خاطئ لإعادة التوجيه. الحل: أعد إنشاء بيانات الاعتماد باستخدام رد الاتصال الدقيق hf.space. امسح ذاكرة التخزين المؤقت للمتصفح.

المشكلة 5: رؤوس أمان Helmet تحظر Iframe. السبب: وضع الإنتاج يفرض X-Frame-Options: sameorigin. الحل: قم بتعيين NODE_ENV=development مؤقتًا، أو قم بتفرع القالب لتخفيف الرؤوس في Dockerfile:

ENV N8N_SECURE_COOKIE=FALSE

ادخل إلى السجلات عبر وحدة تحكم Hugging Face: انقر فوق علامة التبويب "Logs" لتدفق stdout/stderr في الوقت الفعلي. قم بالتصفية بحثًا عن "error" لتحديد المشكلات بدقة.

للتصحيح المتقدم، قم بتمكين وضع تصحيح الأخطاء في n8n: أضف متغير البيئة N8N_LOG_LEVEL=debug. تساعد هذه الإسهاب في تتبع حمولات الويب هوك.

من خلال معالجة هذه المشكلات بشكل استباقي، ستحافظ على عملية نشر مرنة.

الخاتمة: انشر، أتمت، ووسع بثقة

أنت الآن تمتلك مخططًا شاملاً لنشر n8n مجانًا على Hugging Face Spaces، مدعومًا بـ Supabase وأفضل الممارسات. يمكّنك هذا الإعداد من أتمتة لا نهاية لها، من تنسيق واجهات برمجة التطبيقات إلى مسارات المحتوى، كل ذلك مع تحسين محركات البحث ووقت التشغيل.

تذكر تنزيل Apidog مجانًا لاختبار تكاملاتك بسلاسة. قم بالتجربة، وكرر، وشارك مساحتك - فملاحظات المجتمع تسرع الابتكار. ابدأ النشر اليوم وحوّل سير عملك.

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات

نشر n8n مجانًا على مساحات Hugging Face