[{"data":1,"prerenderedAt":109},["ShallowReactive",2],{"seo-verification":3,"blog-استضافة-changedetectionio-على-vps-مراقبة-تغييرات-المواقع-ma-ar":6,"promo-bar-likely":108},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-استضافة-changedetectionio-على-vps-مراقبة-تغييرات-المواقع-ma-ar",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":103,"ctaBody":104,"ctaButton":105,"ctaUrl":106,"relatedPosts":107},182,"استضافة-changedetectionio-على-vps-مراقبة-تغييرات-المواقع",{"fr":12,"en":13,"ar":10,"es":14},"self-host-changedetection-vps","self-host-changedetectionio-on-a-vps-monitor-any-website","alojar-changedetection-io-en-un-vps","مراقبة تغييرات المواقع مع Changedetection.io","نشر ‎Changedetection.io‎ على ‎VPS‎: كشف التغييرات مفتوح المصدر، فلاتر ‎CSS\u002FXPath‎، أكثر من 80 قناة إشعار. إصلاح تراجعات الإصدار ‎v0.60.x‎ وإرشادات التحديث الآمن.",9,0,false,"2026-07-17T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"الاستضافة الذاتية","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-changedetection-vps-poster.svg",{"categorySlug":34,"appSlug":35},"المراقبة-وقابلية-الرصد","changedetection","يُعدّ تتبّع أسعار المنافسين وتنبيهات إعادة التخزين والمناقصات العامة وتحديثات العقود يدويًا أمرًا مُضنيًا. يؤدي ‎Changedetection.io‎ (رخصة ‎Apache 2.0‎، أكثر من 24 ألف نجمة) هذه المهمة تلقائيًا: يراقب أي عنوان ‎URL‎ ويُرسل إشعارًا فور حدوث أي تغيير — عبر البريد الإلكتروني أو ‎Telegram‎ أو ‎Slack‎ أو ‎Discord‎ أو ‎ntfy‎ أو أكثر من 80 قناة أخرى. اكتشف هنا كيفية نشره على خادم ‎ServOrbit VPS‎ في دقائق، وكيفية تحديثه بأمان دون التعرض لأي تراجع.",[38,42,54,57,79,82,85,100],{"type":39,"title":40,"body":41},"h2","لماذا الاستضافة الذاتية لأداة كشف التغييرات","تُقدّم خدمات ‎SaaS‎ لكشف التغييرات خدماتها بحساب لكل فحص، وتضع حدودًا لعدد عناوين ‎URL‎ المراقبة، وتُمرّر محتواك عبر خوادمها. يعكس ‎Changedetection.io‎ هذا النموذج: تشغّله على خادمك الخاص، وتراقب عددًا غير محدود من عناوين ‎URL‎ بالتردد الذي تختاره، وتبقى جميع البيانات على بنيتك التحتية.\n\nبما أنه يعتمد على تخزين الملفات دون قاعدة بيانات خارجية، فالحِمل التشغيلي ضئيل — يستهلك الحاوي أقل من 256 ‎MB‎ من الذاكرة في وضع الخمول ويبدأ في أقل من 10 ثوانٍ. تُحفظ لقطات كل صفحة مراقبة محليًا في وحدة ‎Docker‎ مُركّبة على مجلد `\u002Fdatastore`: لا تغادر بياناتك خادمك قط، حتى بالنسبة للصفحات المحمية بكلمة مرور.\n\nأضف ‎Sidecar Playwright\u002FChromium‎ للصفحات المُصيَّرة بـ‎JavaScript‎ لتحصل على دقة متصفح كامل لتطبيقات ‎SPA‎ وعدادات الطلبات وعناصر الأسعار المحمّلة ديناميكيًا — أشياء لا يمكن لطلب ‎HTTP‎ بسيط رؤيتها أبدًا.",{"type":43,"title":44,"items":45},"ul","ما تحصل عليه مع Changedetection.io ذاتي الاستضافة",[46,47,48,49,50,51,52,53],"مراقبة عدد غير محدود من عناوين URL — صفحات المنتجات وبوابات المناقصات والمواقع المنافسة ولوحات الوظائف — بأي فترة فحص.","فلاتر محدد CSS وXPath والكلمات المفتاحية — راقب العنصر الذي يهمك فقط، لا الصفحة بأكملها.","أكثر من 80 قناة إشعار عبر Apprise: البريد الإلكتروني (SMTP) وTelegram وSlack وDiscord وntfy وGotify وMatrix والـ webhooks وغيرها الكثير.","Sidecar Playwright\u002FChromium اختياري للصفحات المُصيَّرة بـJavaScript — يتم التصيير في متصفح حقيقي، لا في عميل HTTP بسيط.","عارض الفروقات الكامل — شاهد بالضبط ما الذي تغيّر، مُميَّزًا في سياقه، مع سجل اللقطات السابقة.","فحوصات مجدولة مع توزيع عشوائي للتوقيت — من كل دقيقة إلى كل 24 ساعة؛ التوقيت العشوائي يتجنب أنماط كشف البوتات.","حاوي Docker واحد، تخزين قائم على الملفات، أقل من 256 MB من الذاكرة — لا تبعيات خارجية.","رخصة Apache 2.0 — لا رسوم لكل فحص، لا حساب سحابي، لا بيانات تتبع.",{"type":39,"title":55,"body":56},"المتطلبات الأساسية","خادم ‎ServOrbit VPS‎ يعمل بنظام ‎Ubuntu 24.04‎ مع ذاكرة وصول عشوائي لا تقل عن 1 ‎GB‎. يستهلك ‎Changedetection.io‎ وحده أقل من 256 ‎MB‎ في وضع الخمول؛ إذا أضفت ‎Sidecar Playwright‎، احسب لنفسك 2 ‎GB‎ إجمالًا.\n\nيتم توفير ‎Docker‎ و‎Docker Compose‎ تلقائيًا عند النشر عبر ‎ServOrbit Marketplace‎. لا يلزم اسم نطاق — يمكن الوصول إلى واجهة الويب مباشرةً على المنفذ 5000، غير أن وضعها خلف ‎reverse proxy‎ بـ‎HTTPS‎ موصى به للنشرات طويلة الأمد.\n\n**ملاحظة بشأن الإصدار المُنشر.** يتتبع وسم `latest` أحدث وسم منشور على ‎GitHub‎. منذ صدور الإصدار ‎v0.60.2‎ في 2 سبتمبر 2026، يشهد هذا الوسم تراجعَين فعّالَين (راجع القسم المخصص أدناه). إذا كنت تنشر اليوم دون قراءة قسم استكشاف الأخطاء، ثبّت صراحةً `dgtlmoon\u002Fchangedetection.io:0.55.8` في ملف `docker-compose.yml` حتى صدور الإصلاح.",{"type":58,"title":59,"steps":60},"steps","نشر Changedetection.io على خادمك VPS",[61,64,67,70,73,76],{"title":62,"body":63},"النشر بنقرة واحدة من ServOrbit Marketplace","افتح لوحة تحكم ‎ServOrbit‎، انتقل إلى ‎Marketplace → Monitoring & Observability → Changedetection.io‎، ثم انقر على نشر. يسحب ‎Docker‎ الصورة `dgtlmoon\u002Fchangedetection.io:latest` ويشغّل الحاوي. تصبح واجهة الويب متاحة على المنفذ 5000 في أقل من 10 ثوانٍ — دون إنشاء حساب، دون إعداد مبدئي.",{"title":65,"body":66},"إضافة أول عنوان URL للمراقبة","انتقل إلى `http:\u002F\u002F\u003Cyour-vps-ip>:5000`. انقر على الزر الأزرق + في أعلى اليمين، الصق عنوان ‎URL‎ الذي تريد مراقبته — صفحة منتج أو إعلان وظيفة أو بوابة عامة — ثم انقر على مراقبة. يسحب ‎Changedetection.io‎ الصفحة فورًا ويحفظها كقاعدة مرجعية. يُجدوَل الفحص التالي وفق فترتك الافتراضية (دقائق أو ساعات).",{"title":68,"body":69},"إضافة فلتر لعزل العنصر الذي يهمك","بدون فلتر، يكتشف ‎Changedetection.io‎ أي تغيير في الصفحة — بما فيها لافتات الإعلانات والطوابع الزمنية وتحديثات التنقل. للتركيز فقط على حقل السعر أو المخزون، افتح إعدادات المراقبة (أيقونة القلم)، انتقل إلى تبويب الفلاتر، وأدخل محدد ‎CSS‎ مثل `.price` أو `#stock-status` أو `span.availability`. يمكنك أيضًا استخدام تعبيرات ‎XPath‎ أو مشغّل بالكلمات المفتاحية (تنبّه فقط عند ظهور نص \"In stock\" أو اختفائه).",{"title":71,"body":72},"إعداد قناة إشعار","افتح إعدادات المراقبة → تبويب الإشعارات. يستخدم ‎Changedetection.io‎ مكتبة ‎Apprise‎ للإشعارات. لإرسال رسالة ‎Telegram‎، أدخل `tgram:\u002F\u002Fbottoken\u002Fchatid`. للبريد الإلكتروني، استخدم `mailto:\u002F\u002Fuser:password@smtp.example.com`. لـ‎Slack‎، استخدم صيغة عنوان الـ‎webhook‎ `slack:\u002F\u002FtokenA\u002FtokenB\u002FtokenC`. يمكنك تراكم عدة قنوات — انخفاضات الأسعار مثلًا يمكن أن تصل إلى ‎Telegram‎ للاستلام الفوري على الهاتف، وتُسجَّل أيضًا في ‎webhook‎ للوحة مراقبتك.",{"title":74,"body":75},"تفعيل Playwright للصفحات المُصيَّرة بـJavaScript (اختياري)","إذا كانت الصفحة التي تريد مراقبتها تطبيقًا أحاديًا بـ‎React‎ أو ‎Vue‎، أو تحمّل عداد الأسعار بشكل غير متزامن، فلن يرى طلب ‎HTTP‎ البسيط سوى صدفة فارغة. لتفعيل دعم ‎Playwright‎، أضف حاويًا ثانيًا — `browserless\u002Fchrome` أو `playwright-stealth` — بجانب ‎Changedetection.io‎ في ملف ‎Docker Compose‎، وضع متغير البيئة `PLAYWRIGHT_DRIVER_URL` ليشير إليه. في إعدادات المراقبة، بدّل الـ‎Fetch Backend‎ إلى `playwright`. سيُشغّل ‎Changedetection.io‎ حينئذٍ متصفحًا بدون واجهة، وينتظر تصيير الصفحة، ثم يلتقط صورة ‎DOM‎ المباشرة.",{"title":77,"body":78},"أول دخول للنظام","يفتح ‎Changedetection.io‎ مباشرةً على قائمة المراقبة دون حساب أو بيانات دخول: يمكنك إضافة أول عنوان ‎URL‎ فورًا. أول ما يجب فعله بعد ذلك: فتح ‎Settings → General‎ وتعيين كلمة مرور.",{"type":39,"title":80,"body":81},"حالات الاستخدام العملية للمطورين والشركات الصغيرة","يغطي ‎Changedetection.io‎ نطاقًا واسعًا بشكل مفاجئ من احتياجات الأتمتة بما يتجاوز مجرد «تنبيهات إعادة التخزين».\n\n**الاستخبارات التنافسية**: راقب صفحة أسعار منافس بمحدد ‎CSS‎ يستهدف جدول الأسعار. بمجرد تغيّر أي عمود — التحول من الفوترة الشهرية إلى السنوية، أو إضافة طبقة مؤسسية جديدة — تصلك إشعارات فورية دون زيارات يدوية للموقع.\n\n**تتبع إصدارات البرمجيات**: أعدّ مراقبة على صفحة ‎GitHub Releases‎ لأداة تعتمد عليها. فلتر بالكلمات المفتاحية على `v` أو `Release` وإشعار ‎Slack‎: لن تفوتك أي تحديث أمني حرج.\n\n**المناقصات العامة والمشتريات**: تنشر بوابات المناقصات نتائجها في أوقات غير متوقعة. مراقبة صفحة النتائج بفحص كل ساعة توفّر عليك دخولات يدوية متعددة يوميًا.\n\n**تنبيهات إعادة التخزين للتجارة الإلكترونية**: فلتر ‎CSS‎ على `.in-stock`، وفترة 15 دقيقة، وإشعار ‎ntfy‎ على هاتفك — يكفي لاصطياد أي إعادة تخزين لمنتج نافد المخزون.\n\nأي عنوان ‎URL‎، أي عنصر، أي قناة إشعار — مزيج فلاتر ‎CSS‎ والمشغّلات بالكلمات المفتاحية وأكثر من 80 ‎backend‎ في ‎Apprise‎ يجعله وحدة مراقبة قابلة للتركيب حقًا.",{"type":39,"title":83,"body":84},"التراجعات الفعّالة في الإصدار v0.60.2 — ما تحتاج معرفته","يُدخل الإصدار ‎v0.60.2‎ الصادر في 2 سبتمبر 2026 **تراجعَين متزامنَين** موثّقَين في متتبّع ‎GitHub‎:\n\n**التراجع الأول — زر «Recheck» يُعيد خطأ HTTP 404** (المشكلة #4369). حوّل تمرير تحسين الأمان نقطة نهاية من ‎GET‎ إلى ‎POST‎ فقط دون إنشاء معالج ‎POST‎ المقابل. يفشل زر إعادة الفحص اليدوي عند كل استدعاء. حلٌّ مؤقت متاح إذا كنت تستخدم ‎Traefik‎ كـ‎reverse proxy‎: أضف متغير البيئة `SOCKETIO_CORS_ORIGINS=https:\u002F\u002F\u003Cyour-domain>` إلى الحاوي. فُتح طلب سحب (#4370) في اليوم ذاته من قِبل الفريق؛ لم يُدمج حتى 5 سبتمبر 2026.\n\n**التراجع الثاني — «Time Between Check» يتوقف عن الإطلاق بعد التحديث** (المشكلة #4368). لم تعد فترة الفحص المجدول تُنفَّذ بعد الترقية إلى ‎v0.60.2‎. تبدو المراقبات النشطة في الواجهة لكنها لا تُطلق أي فحص تلقائي. سيكون زر ‎Recheck‎ اليدوي الحلَّ المؤقت الوحيد — لكنه مُعطَّل بدوره بسبب التراجع الأول.\n\n**التوصية**: ابقَ على الإصدار ‎v0.55.8‎ أو ارجع إليه إذا كنت قد حدّثت بالفعل، حتى صدور إصلاح ‎v0.60.x‎ يُعالج المشكلتين معًا. يُفصّل القسم التالي إجراء التحديث الآمن مع تثبيت الإصدار.",{"type":58,"title":86,"steps":87},"تحديث Changedetection.io بأمان — وتثبيت الإصدار",[88,91,94,97],{"title":89,"body":90},"لا تستخدم وسم `latest` في بيئة الإنتاج أبدًا","يتتبع وسم `latest` تلقائيًا أحدث وسم منشور على ‎Docker Hub‎. قد يُدخل تحديث صامت (‎Docker Watchtower‎، سحب تلقائي عند إعادة التشغيل) تراجعًا دون علمك. **ثبّت دائمًا إصدارًا محددًا** في ملف `docker-compose.yml`:\n\n```yaml\nservices:\n  changedetection:\n    image: dgtlmoon\u002Fchangedetection.io:0.55.8\n```\n\nحدّث الإصدار يدويًا وبوعي، بعد مراجعة سجل التغييرات على ‎GitHub‎ والمشكلات المفتوحة للإصدار المستهدف.",{"title":92,"body":93},"نسخ احتياطي من datastore قبل أي تحديث","تعيش جميع الإعدادات وسجل اللقطات في وحدة التخزين المُركّبة على `\u002Fdatastore`. قبل تغيير الإصدار:\n\n```bash\ndocker compose stop changedetection\ncp -r \u002Fopt\u002Fchangedetection\u002Fdatastore \u002Fopt\u002Fchangedetection\u002Fdatastore.bak-$(date +%Y%m%d)\n```\n\nتتيح لك هذه النسخة العودة إلى الحالة السابقة عند حدوث مشكلة، دون فقدان قواعد المراقبة أو سجلات اللقطات.",{"title":95,"body":96},"التحديث إلى إصدار محدد","عدّل ملف `docker-compose.yml` ليشير إلى الوسم الجديد، ثم اسحب الصورة وأعد التشغيل:\n\n```bash\ndocker compose pull changedetection\ndocker compose up -d changedetection\n```\n\nتحقق أن الإصدار المعروض في ‎Settings → General‎ يطابق الإصدار الذي ثبّتّه. إذا لم يعمل شيء ما — زر ‎Recheck‎ معطوب أو توقف الفحوصات المجدولة — فلديك نسختك الاحتياطية للعودة الفورية.",{"title":98,"body":99},"الرجوع من v0.60.2 إلى v0.55.8","إذا حدّثت بالفعل إلى ‎v0.60.2‎ وتلاحظ التراجعين الموصوفين أعلاه، إليك الإجراء:\n\n```bash\ndocker compose stop changedetection\n# عدّل image: إلى dgtlmoon\u002Fchangedetection.io:0.55.8 في docker-compose.yml\ndocker compose pull changedetection\ndocker compose up -d changedetection\n```\n\nمخزن البيانات ‎datastore‎ متوافق بين الإصدارين: تُحفظ مراقباتك وفلاتركم وسجلات لقطاتكم.",{"type":101,"body":102},"tip","اختر فترة فحص أطول (30 إلى 60 دقيقة) للمواقع العامة لتكون مواطنًا محترمًا على الويب وتتجنب التقييد بمعدل الطلبات أو الحجب بالـ‎IP‎. فعّل خيار التوزيع العشوائي للتوقيت لتوزيع الفحوصات على كامل نافذة الفترة وتجنب استجواب الخادم الهدف في الثانية ذاتها في كل مرة. إذا كان الفحص يجب أن يكون متكررًا (كل 5 دقائق)، فضّل استهداف عنصر محدد جدًا عبر محدد ‎CSS‎ بدلًا من الصفحة بأكملها: يُسرّع ذلك حساب الفروقات ويُنتج نتائج إيجابية كاذبة أقل.","ابدأ مراقبة المواقع — انشر Changedetection.io على خادم ServOrbit VPS","تثبيت بنقرة واحدة، أقل من 256 ميغابايت RAM، 80+ قناة إشعار.","انشر Changedetection.io","\u002Fvps-cloud",[],true,1794270215269]