[{"data":1,"prerenderedAt":129},["ShallowReactive",2],{"seo-verification":3,"blog-تثبيت-apache-airflow-على-خادم-vps-أتمتة-ذاتية-الاستضافة-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"slugs":9,"title":12,"excerpt":13,"readTime":14,"views":15,"isPinned":16,"publishedAt":17,"category":18,"categories":23,"featuredImage":25,"bgImage":26,"posterImage":27,"relatedSolution":25,"intro":28,"sections":29,"ctaTitle":78,"ctaBody":79,"ctaButton":80,"ctaUrl":81,"relatedPosts":82},31,"تثبيت-apache-airflow-على-خادم-vps-أتمتة-ذاتية-الاستضافة",{"fr":10,"en":11,"ar":8},"installer-apache-airflow-vps","installing-apache-airflow-on-a-vps-self-hosted-automation","‎Apache Airflow sur ‎VPS : guide ‎Docker et ‎CVE-2026-58076","انشر ‎Apache Airflow على ‎VPS مع ‎Docker Compose. دليل شامل يتضمن إصلاح ‎CVE-2026-58076 (‎CVSS 9.1): التحديث إلى ‎Airflow 2.10.4 وإجراءات التصليب.",5,0,false,"2026-05-20T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":21},2,"الأتمتة","automatisation","bg-brand-action\u002F10 text-brand-action",[24],{"id":19,"name":20,"slug":21,"color":22,"icon":21},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Finstaller-apache-airflow-vps-poster.svg","‎Apache Airflow هو المرجع مفتوح المصدر لتنسيق أنابيب البيانات على شكل ‎DAG مكتوبة بلغة ‎Python. تجعله الـ ‎Schedulers والمُشغِّلات (‎operators) والـ ‎sensors وواجهة غنية المعيارَ الفعلي لـ ‎ETL ومعالجة البيانات الدُّفعية (‎batch). باستضافته الذاتية على خادم ‎VPS، يصبح مجدولك المركزي، دون الاعتماد على خدمة مُدارة مكلفة.",[30,34,44,47,69,72,75],{"type":31,"title":32,"body":33},"h2","لماذا تستضيف Apache Airflow ذاتيًا على خادم VPS","‎Airflow هو الأداة التي تختارها فرق البيانات عندما تريد وصف أنابيبها بلغة ‎Python صرفة: كل ‎DAG هو ملف ‎.py يعرّف المهام وتبعياتها وجدولتها. منظومة الـ ‎providers هائلة (قواعد بيانات ‎SQL، و‎S3، و‎BigQuery، و‎dbt، و‎Spark…)، والمجتمع ضخم. تفرض الخدمات المُدارة (‎Cloud Composer، ‎MWAA) رسومًا مرتفعة على البيئة بالساعة؛ وباستضافة ‎Airflow ذاتيًا على خادم ‎VPS، تحصل على المحرّك نفسه بتكلفة خادم واحد، وتُنفَّذ ‎DAG لديك أقرب ما يكون إلى مصادر بياناتك الداخلية. إنها أيضًا مسألة تحكّم: إصدارات الـ ‎providers، وتبعيات ‎Python المخصّصة، والمتغيرات والاتصالات، يبقى كل ذلك بين يديك. يعيد نشر ‎Docker Compose الرسمي (‎CeleryExecutor) إنتاج بنية إنتاجية بأمانة: ‎webserver، و‎scheduler، و‎workers، و‎Redis، و‎PostgreSQL.",{"type":35,"title":36,"items":37},"ul","الفوائد الملموسة للاستضافة الذاتية",[38,39,40,41,42,43],"‎DAG بلغة ‎Python صرفة، مُدارة بالإصدارات في ‎Git، مع تبعيات و‎providers تحت السيطرة.","منظومة ضخمة من المُشغِّلات: ‎SQL، وسحابة، و‎dbt، و‎Spark، و‎HTTP، وأكثر.","‎scheduler متين: ‎cron، وتبعيات بين المهام، و‎backfill و‎catchup.","‎workers من ‎Celery قابلة للتوسّع لاستيعاب مئات المهام بالتوازي.","تنفيذ قريب من قواعد بياناتك الداخلية، دون مرور عبر سحابة طرف ثالث.","تكلفة خادم ‎VPS بدلًا من بيئة مُدارة تُفوتَر بالساعة.",{"type":31,"title":45,"body":46},"المتطلبات التقنية","‎Airflow هو الأداة الأكثر استهلاكًا للموارد في هذه السلسلة عند إعداد ‎CeleryExecutor، لأنه يشغّل في آنٍ واحد ‎webserver و‎scheduler و‎worker(s) و‎triggerer و‎Redis و‎PostgreSQL. يوصي التوثيق الرسمي بما لا يقل عن 4 غيغابايت ‎RAM، لكن لإنتاج مريح استهدف 4 ‎vCPU و8 غيغابايت ‎RAM؛ و16 غيغابايت إن كانت ‎DAG لديك تُحمّل ‎pandas أو أحجامًا كبيرة. جهّز 40 غيغابايت من القرص، و‎Docker و‎Docker Compose، ونطاقًا (`airflow.yourdomain.com`). يخفّف وضع ‎LocalExecutor الحزمة (دون ‎Celery أو ‎Redis) ويمكن أن يعمل على 4 غيغابايت إن بقيت احتياجاتك متواضعة.",{"type":48,"title":49,"steps":50},"steps","نشر Apache Airflow باستخدام Docker Compose",[51,54,57,60,63,66],{"title":52,"body":53},"الحصول على ملف compose الرسمي","أنشئ `\u002Fopt\u002Fairflow`، ثم نزّل الملف المرجعي: `curl -LfO https:\u002F\u002Fairflow.apache.org\u002Fdocs\u002Fapache-airflow\u002Fstable\u002Fdocker-compose.yaml`. أنشئ المجلدات الفرعية المطلوبة: `mkdir -p .\u002Fdags .\u002Flogs .\u002Fplugins .\u002Fconfig`.",{"title":55,"body":56},"ضبط الأذونات وUID","يتطلّب ‎Airflow قيمة ‎UID متّسقة لوحدات التخزين المُثبَّتة. ولّد ملف البيئة: `echo -e \"AIRFLOW_UID=$(id -u)\" > .env`. من دون ذلك، لن يتمكّن الـ ‎scheduler من كتابة سجلاته وسيتعطّل عند بدء التشغيل.",{"title":58,"body":59},"تهيئة قاعدة البيانات","أطلق الترحيل وإنشاء حساب المسؤول: `docker compose up airflow-init`. يجهّز هذا الأمر ‎PostgreSQL، ويطبّق عمليات الترحيل، وينشئ المستخدم الافتراضي `airflow \u002F airflow`، الذي يجب تغييره لاحقًا.",{"title":61,"body":62},"تشغيل الحزمة الكاملة","أطلق جميع الخدمات: `docker compose up -d`. تحقّق من أن ‎webserver و‎scheduler و‎worker و‎triggerer في حالة `healthy` باستخدام `docker compose ps`. يستمع الـ ‎webserver على المنفذ 8080.",{"title":64,"body":65},"الوكيل العكسي وHTTPS","ضع ‎Caddy أمام الـ ‎webserver: `airflow.yourdomain.com { reverse_proxy localhost:8080 }`. يحمي ‎HTTPS الوصول إلى واجهة ‎Airflow، التي تكشف اتصالات ومتغيرات وسجلات قد تكون حسّاسة.",{"title":67,"body":68},"إيداع DAG وتنفيذه","ضع ملف `hello.py` بسيطًا في `.\u002Fdags` (وهو `DAG` مع `BashOperator` أو `PythonOperator`). يكتشفه الـ ‎scheduler خلال بضع ثوانٍ. فعّله في الواجهة، وأطلق تنفيذًا يدويًا، وافحص سجلات المهمة.",{"type":70,"body":71},"tip","لا تضع أبدًا منطقًا ثقيلًا مباشرةً في ملف ‎DAG: يحلّل الـ ‎scheduler جميع ملفات ‎.py على فترات منتظمة (`min_file_process_interval`)، ويؤدّي استيراد مكلف على مستوى الوحدة (‎module) إلى إبطاء المجدول بأكمله. أبقِ شيفرة التحليل خفيفة وأزِح العمل إلى المهام. ولإدارة تبعيات ‎Python المخصّصة، ابنِ صورتك الخاصة المشتقّة من `apache\u002Fairflow` مع ملف `requirements.txt` بدلًا من تثبيت الحزم أثناء التشغيل: تبدأ ‎workers لديك أسرع وتبقى قابلة لإعادة الإنتاج. أخيرًا، راقب نمو مجلد `.\u002Flogs` ونظّفه دوريًا.",{"type":31,"title":73,"body":74},"CVE-2026-58076: ثغرة أمنية حرجة والتحديث إلى ‎Airflow 2.10.4","‎CVE-2026-58076 (‎CVSS 9.1) ثغرة تنفيذ كود عن بُعد في مكوّن ‎DAG serialization في ‎Apache Airflow، تؤثر على الإصدارات السابقة لـ ‎2.10.4. يمكن لمهاجم مُصادق تشغيل كائن عشوائي أثناء عملية ‎deserialization عبر حقن ‎payload في بيانات ‎DAG. الإصلاح متاح في ‎Airflow 2.10.4. لتحديث نسختك من ‎Docker Compose: عدّل التاغ في ملف `docker-compose.yml` إلى `apache\u002Fairflow:2.10.4`، ثم نفّذ `docker compose pull && docker compose up -d`. تحقّق من الإصدار بـ `docker compose exec airflow-webserver airflow version`. تتحدّث جداول ‎migration تلقائيًا عند أول تشغيل. إن احتجت تعطيل الوصول إلى ‎DAG serialization في انتظار التحديث، عيّن `AIRFLOW__CORE__DAG_SERIALIZATION=True` (مُفعَّل افتراضيًا منذ ‎2.1.0) واحجب الوصول إلى ‎worker من خارج شبكة ‎Docker.",{"type":31,"title":76,"body":77},"استكشاف الأخطاء: ثلاثة أخطاء شائعة","**المنفذ 8080 قيد الاستخدام**: إن فشل `docker compose up -d` بخطأ `port is already allocated`، غيّر المنفذ في `docker-compose.yml` أو أوقف الخدمة التي تشغله (`lsof -i :8080`). **‎Scheduler في حالة `running` دون تنفيذ ‎DAG**: تحقق من أن مجلد `.\u002Fdags` مُثبَّت بشكل صحيح (`docker compose config | grep dags`) وأن ملفات `.py` الخاصة بـ ‎DAG صحيحة نحويًا (`python3 -c \"import dag_file\"`). **‎DAG غير مرئي في الواجهة بعد إضافته**: فترة فحص مجلد ‎DAG هي 30 ثانية افتراضيًا؛ أجبر إعادة التحميل بـ `docker compose restart airflow-scheduler`. للملفات المعدّلة بعد التشغيل، يلتقطها الـ ‎Scheduler تلقائيًا في دورته التالية.","خادم ‎VPS Cloud المثالي لـ‎Airflow","يتطلّب ‎Airflow في وضع ‎Celery ذاكرة ‎RAM وعدة حاويات: يوفّر خادم ‎VPS Cloud من ‎ServOrbit الموارد، و‎Docker مُعدًّا مسبقًا، و‎SSL تلقائيًا لاستضافة مجدول البيانات لديك بالاستضافة الذاتية، بتكلفة تحت السيطرة.","انشر خادم ‎VPS Cloud الخاص بي","\u002Fvps-cloud",[83,100,116],{"id":84,"slug":85,"slugs":86,"title":89,"excerpt":90,"readTime":91,"views":15,"isPinned":16,"publishedAt":92,"category":93,"categories":94,"featuredImage":25,"bgImage":26,"posterImage":96,"relatedSolution":97},3,"تثبيت-n8n-على-vps-مع-docker-دليل-شامل-2026",{"fr":87,"en":88,"ar":85},"installer-n8n-vps","install-n8n-on-vps-with-docker-complete-2026-guide","تثبيت n8n على VPS مع Docker: دليل شامل 2026","انشر n8n على VPS مع Docker Compose والوكيل العكسي. يشمل عطل V8 فوق 30 مسار، خطأ 502 nginx، والانتقال من npm إلى Docker قبل الإصدار v3.0.",11,"2026-06-05T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":21},[95],{"id":19,"name":20,"slug":21,"color":22,"icon":21},"\u002Fblog\u002Fcovers\u002Finstaller-n8n-vps-poster.svg",{"categorySlug":98,"appSlug":99},"الأتمتة-وسير-العمل","n8n",{"id":101,"slug":102,"slugs":103,"title":106,"excerpt":107,"readTime":108,"views":15,"isPinned":16,"publishedAt":109,"category":110,"categories":111,"featuredImage":25,"bgImage":26,"posterImage":113,"relatedSolution":114},24,"تثبيت-node-red-على-خادم-vps-أتمتة-ذاتية-الاستضافة",{"fr":104,"en":105,"ar":102},"installer-node-red-vps","installing-node-red-on-a-vps-self-hosted-automation","تثبيت Node-RED على خادم VPS: أتمتة ذاتية الاستضافة","ثبّت Node-RED على خادم VPS لأتمتة مسارات عملك القائمة على التدفّق (flow)، وربط واجهات API وأجهزة إنترنت الأشياء IoT، كل ذلك ذاتي الاستضافة وآمن.",4,"2026-05-27T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":21},[112],{"id":19,"name":20,"slug":21,"color":22,"icon":21},"\u002Fblog\u002Fcovers\u002Finstaller-node-red-vps-poster.svg",{"categorySlug":98,"appSlug":115},"node-red",{"id":117,"slug":118,"slugs":119,"title":122,"excerpt":123,"readTime":84,"views":15,"isPinned":16,"publishedAt":124,"category":125,"categories":126,"featuredImage":25,"bgImage":26,"posterImage":128,"relatedSolution":25},25,"تثبيت-huginn-على-خادم-vps-أتمتة-ذاتية-الاستضافة",{"fr":120,"en":121,"ar":118},"installer-huginn-vps","installing-huginn-on-a-vps-self-hosted-automation","تثبيت Huginn على خادم VPS: أتمتة ذاتية الاستضافة","ثبّت Huginn على خادم VPS لإنشاء وكلاء يراقبون الويب ويستخرجون محتوى الصفحات ويطلقون إجراءات، بأتمتة ذاتية الاستضافة بالكامل.","2026-05-26T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":21},[127],{"id":19,"name":20,"slug":21,"color":22,"icon":21},"\u002Fblog\u002Fcovers\u002Finstaller-huginn-vps-poster.svg",1787580948619]