[{"data":1,"prerenderedAt":243},["ShallowReactive",2],{"seo-verification":3,"blog-نشر-keycloak-لتسجيل-الدخول-الموحد-sso-على-خادمك-vps-ma-ar":6,"promo-bar-likely":242},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-نشر-keycloak-لتسجيل-الدخول-الموحد-sso-على-خادمك-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":182,"ctaBody":183,"ctaButton":184,"ctaUrl":185,"relatedPosts":186},112,"نشر-keycloak-لتسجيل-الدخول-الموحد-sso-على-خادمك-vps",{"fr":12,"en":13,"ar":10,"es":14},"keycloak-sso-vps","deploy-keycloak-for-sso-on-your-vps","desplegar-keycloak-sso-en-un-vps","نشر Keycloak لتسجيل الدخول الموحّد (SSO) على خادمك VPS","انشر Keycloak على خادمك VPS للحصول على تسجيل دخول موحّد (SSO) بمستوى المؤسسات: OIDC وSAML وrealms والاتحاد (federation). دليل Docker كامل ومقارنة.",10,0,false,"2026-02-28T00:00:00+00:00","2026-11-04T16:30:25+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},8,"الأمان والمراقبة","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fkeycloak-sso-vps-poster.svg",{"categorySlug":34,"appSlug":35},"الأمن-السيبراني-والحصن","keycloak","يُعدّ Keycloak المرجع مفتوح المصدر لتسجيل الدخول الموحّد على مستوى المؤسسات، وهو مدعوم من Red Hat ويُستخدم حتى في البيئات الخاضعة لتنظيم صارم. بفضل realms الخاصة به واتحاد LDAP ودعمه الكامل لـ OIDC وSAML، فإنه يلبّي احتياجات لا يبلغها إلا القليل من مزوّدي الهوية (IdP). وعند استضافته ذاتيًا على خادم VPS، يمنحك هذا المستوى من الاحترافية دون أي ترخيص أو اعتماد على السحابة.",[38,42,52,55,77,80,95,135,138,147,150,158,176,180],{"type":39,"title":40,"body":41},"h2","لماذا تنشر Keycloak على خادمك VPS","حيث تسعى بعض مزوّدات الهوية (IdP) إلى البساطة، يسعى Keycloak إلى الشمولية: عزل متعدد المستأجرين عبر realms، واتحاد أدلة LDAP\u002FActive Directory، والوساطة (brokering) نحو مزوّدين خارجيين (Google وGitHub أو OIDC آخر)، وتخصيص كامل لمظهر صفحات تسجيل الدخول، وتفويض دقيق (fine-grained authorization). وبالنسبة إلى وكالة تدير عدة عملاء أو نظام معلومات ذي متطلبات امتثال، فإن هذا المستوى من التحكّم حاسم. تجنّبك الاستضافة الذاتية على خادم VPS التكاليف لكل مستخدم في عروض IdP المُدارة، وتُبقي قاعدة الهويات بأكملها ضمن نطاق سلطتك القضائية، وهي نقطة بالغة الأهمية للبيانات الحساسة التي لا ترغب في تسليمها إلى طرف ثالث.",{"type":43,"title":44,"items":45},"ul","مزايا Keycloak المستضاف ذاتيًا",[46,47,48,49,50,51],"realms متعددة لعزل عدة عملاء أو بيئات عزلًا كاملًا على نفس النسخة (instance) الواحدة.","دعم أصلي وكامل لـ OpenID Connect وOAuth2 وSAML 2.0.","اتحاد LDAP \u002F Active Directory لإعادة استخدام دليل قائم دون عملية ترحيل.","الوساطة في الهوية (Identity brokering): تسجيل الدخول عبر Google أو GitHub أو أي IdP خارجي ببضع نقرات.","صفحات تسجيل دخول قابلة للتخصيص بالكامل (السمات، اللغات، الهوية البصرية لكل realm).","سياسات مصادقة دقيقة: مصادقة متعددة العوامل (MFA) مشروطة، ومدة الجلسة، وقيود حسب الدور.",{"type":39,"title":53,"body":54},"المتطلبات المسبقة لهذا النشر","يعمل Keycloak على الآلة الافتراضية لجافا JVM (على Quarkus منذ الإصدار v17+) ويظل أكثر استهلاكًا للموارد من مزوّد هوية خفيف. خصّص خادم VPS بـ 2 vCPU و4 غيغابايت من RAM كحدّ أدنى، ويُفضَّل 6 غيغابايت إذا كنت تتوقّع حِملًا أو عدة realms نشطة. يُوصى بشدّة باستخدام قاعدة PostgreSQL خارجية في بيئة الإنتاج (لا تستخدم أبدًا قاعدة H2 المدمجة خارج نطاق الاختبارات). ويكتمل ما يلزم بوجود Docker وDocker Compose ونطاق مخصّص (`sso.mydomain.com`) ووكيل عكسي (reverse proxy) يتولّى SSL، لأن Keycloak يحتاج إلى إعلامه بأنه يُقدَّم خلف وكيل HTTPS.",{"type":56,"title":57,"steps":58},"steps","نشر Keycloak مع PostgreSQL",[59,62,65,68,71,74],{"title":60,"body":61},"تعريف Keycloak وPostgreSQL في Compose","في ملف `docker-compose.yml`، عرّف خدمة `postgres` (الصورة `postgres:16`) وخدمة `keycloak` (الصورة `quay.io\u002Fkeycloak\u002Fkeycloak`). اربط Keycloak بقاعدة البيانات عبر `KC_DB=postgres` و`KC_DB_URL` و`KC_DB_USERNAME` و`KC_DB_PASSWORD`.",{"title":63,"body":64},"تهيئة وضع الإنتاج والوكيل","شغّل باستخدام الأمر `start` (وليس `start-dev`). عيّن `KC_HOSTNAME=sso.mydomain.com` و`KC_PROXY_HEADERS=xforwarded` حتى يُنشئ Keycloak عناوين URL صحيحة خلف الوكيل العكسي. وحدّد المسؤول الأولي عبر `KC_BOOTSTRAP_ADMIN_USERNAME` \u002F `KC_BOOTSTRAP_ADMIN_PASSWORD`.",{"title":66,"body":67},"البدء وإتمام عملية البناء (build)","نفّذ `docker compose up -d`. عند التشغيل الأول، يُجري Keycloak عملية بناء Quarkus مُحسّنة ثم يُرحّل مخطّط PostgreSQL. تابِع `docker compose logs -f keycloak` حتى تظهر الرسالة التي تشير إلى أن الخادم في وضع الاستماع.",{"title":69,"body":70},"إعداد الوكيل العكسي مع SSL","وجّه `sso.mydomain.com` إلى المنفذ `8080` في حاوية Keycloak عبر Caddy أو Traefik أو Nginx، مع شهادة Let's Encrypt. واحرص على تمرير ترويسات `X-Forwarded-*` وإلا فستتعطّل عمليات إعادة التوجيه عند تسجيل الدخول.",{"title":72,"body":73},"إنشاء realm وعميل (client)","سجّل الدخول إلى وحدة تحكّم المسؤول، وأنشئ realm مخصّصًا (لا تستخدم أبدًا realm `master` لتطبيقاتك)، ثم عميل OIDC. اضبط قيمة `Valid redirect URIs` لتطبيقك، واحصل على `Client ID` والسرّ من تبويب Credentials.",{"title":75,"body":76},"ربط تطبيق واختبار التدفّق (flow)","هيّئ تطبيقك باستخدام عنوان الاكتشاف `https:\u002F\u002Fsso.mydomain.com\u002Frealms\u002Fmon-realm\u002F.well-known\u002Fopenid-configuration`. أنشئ مستخدمًا تجريبيًا في الـ realm، وابدأ عملية تسجيل دخول، وتحقّق من إصدار الرمز (token) في قسم Sessions بوحدة التحكّم.",{"type":39,"title":78,"body":79},"صورة مُحسَّنة مسبقًا: فصل البناء عن التشغيل","افتراضيًا يتحقق الأمر `start` عند التشغيل مما إذا كانت مرحلة بناء Quarkus لازمة وينفّذها عند الحاجة: وهذا ما يُطيل التشغيل الأول، وهو ما يكتب داخل شجرة ملفات التثبيت. توصي وثائق الجهة المطوّرة بعكس ذلك في الحاويات: تنفيذ ‎`kc.sh build` أثناء بناء الصورة، ثم التشغيل بالأمر `start --optimized`. يُعلم المعامل `--optimized` برنامج Keycloak بأنه يعمل ضمن صورة مُحسَّنة مسبقًا وأن بإمكانه تخطي ذلك التحقق. أما خيارات البناء، مثل نوع قاعدة البيانات (`db`) أو تفعيل فحوص الصحة (`health-enabled`)، فتُثبَّت داخل الصورة: وإذا أُعيدت عند التشغيل بالقيمة نفسها تُتجاهل، وإذا أُعيدت بقيمة مختلفة تسبّبت في خطأ واستلزمت بناءً جديدًا. أما الأسرار، ومنها كلمة مرور القاعدة، فتنتمي إلى خيارات الإعداد وتبقى تُمرَّر وقت التشغيل.",{"type":56,"title":81,"steps":82},"بناء صورة مُحسَّنة مسبقًا وتشغيلها",[83,86,89,92],{"title":84,"body":85},"كتابة Dockerfile على مرحلتين","تنطلق المرحلة الأولى من ‎`quay.io\u002Fkeycloak\u002Fkeycloak` وتُسمّى `builder`، وتضبط `ENV KC_DB=postgres` و`ENV KC_HEALTH_ENABLED=true`، ثم تنفّذ ‎`RUN \u002Fopt\u002Fkeycloak\u002Fbin\u002Fkc.sh build`. ثبّت رقم إصدار محددًا بدل `latest` ليبقى كل بناء جديد قابلًا للتكرار.",{"title":87,"body":88},"نسخ الناتج إلى الصورة النهائية","تنطلق المرحلة الثانية من الصورة نفسها وتنفّذ `COPY --from=builder \u002Fopt\u002Fkeycloak\u002F \u002Fopt\u002Fkeycloak\u002F`. ضع القوالب والمزوّدات المخصّصة قبل البناء كي يأخذها التحسين في الحسبان. وإذا أضفت ملفات بالأمر `COPY` فأضف `--chown=keycloak:keycloak` ليتمكن Keycloak من الكتابة في المجلدات المعنية.",{"title":90,"body":91},"التشغيل بالخيار المُحسَّن","في Compose استبدل الأمر بـ `start --optimized`. وخلف وكيل عكسي ينهي TLS أضف `KC_HTTP_ENABLED=true`. تبقى المتغيرات `KC_HOSTNAME` و`KC_PROXY_HEADERS` وبيانات الوصول إلى القاعدة إعدادًا وقت التشغيل.",{"title":93,"body":94},"ربط فحوص الصحة","مع ضبط `KC_HEALTH_ENABLED=true` وقت البناء، تُقدَّم النقاط `\u002Fhealth\u002Fstarted` و`\u002Fhealth\u002Flive` و`\u002Fhealth\u002Fready` على منفذ الإدارة `9000` المنفصل عن المنفذ `8080` الخاص بالتطبيق. لا تنشر هذا المنفذ على الإنترنت: استخدمه فقط في `healthcheck` الخاص بـ Compose أو في أدوات المراقبة لديك.",{"type":96,"title":97,"headers":98,"rows":102},"comparison","Keycloak أم Authentik: أيّهما تختار؟",[99,100,101],"المعيار","Keycloak","Authentik",[103,107,111,115,119,123,127,131],[104,105,106],"حالة الاستخدام المستهدفة","تسجيل دخول موحّد للمؤسسات، متعدد المستأجرين، الامتثال","الاستضافة الذاتية، المختبر المنزلي (homelab)، الوكالات",[108,109,110],"البروتوكولات","OIDC, OAuth2, SAML, LDAP","OIDC, OAuth2, SAML, LDAP, forward auth",[112,113,114],"Forward auth (الوكيل)","غير أصلي (عبر إضافات)","أصلي ومحوري في الأداة",[116,117,118],"استهلاك الموارد","مرتفع (JVM، 4 غيغابايت+ RAM)","معتدل (2-4 غيغابايت RAM)",[120,121,122],"realms \u002F المستأجرون المتعددون","ممتاز (realms معزولة)","المستأجرون مدعومون، لكن بشكل أقل تطوّرًا",[124,125,126],"تخصيص التدفّقات (flows)","السمات وواجهة SPI بجافا","تدفّقات مرئية على شكل خطوات",[128,129,130],"منحنى التعلّم","حادّ، وشامل جدًا","أيسر منالًا",[132,133,134],"اتحاد الأدلة","ناضج (LDAP\u002FAD)","جيّد (LDAP)",{"type":39,"title":136,"body":137},"النسخ الاحتياطي والترحيل دون فقدان أي realm","تقع حالة Keycloak في مكانين: قاعدة PostgreSQL، وملفات الإعداد لديك (القوالب والمزوّدات وملفات الاستيراد). النسخة المرجعية هي `pg_dump` مجدول تُنسخ نتيجته خارج الـ VPS؛ جرّب الاستعادة على نسخة مؤقتة، لأن نسخة لم تُستعَد قط تبقى مجرد فرضية. ويكمّل تصدير الـ realm هذا الترتيب دون أن يحل محله: ‎`kc.sh export --dir \u003Cالمجلد>`، أو `--realm my-realm` لـ realm واحد، مع الخيار `--users` لاختيار استراتيجية تصدير المستخدمين. تنص الوثائق على أن الخادم يجب ألا يكون قيد التشغيل أثناء التصدير، وأن الاتساق لا يُضمن إلا مع إيقاف جميع العقد، وأن الأحداث والجلسات المحفوظة والرموز الملغاة لا تُصدَّر. وعند تجاوز 50 000 مستخدم صدّر إلى مجلد لا إلى ملف واحد. أما عند الاستيراد فيقرأ `start --import-realm` ملفات ‎`.json` الموجودة في المجلد `\u002Fopt\u002Fkeycloak\u002Fdata\u002Fimport` ويتجاهل أي realm موجود مسبقًا.",{"type":43,"title":139,"items":140},"قائمة تحقق للتشغيل",[141,142,143,144,145,146],"**إصدار مثبَّت** — ثبّت رقم إصدار الصورة، واقرأ ملاحظات الإصدار قبل تغيير الفرع الرئيسي، وأعد بناء الصورة المُحسَّنة عند كل ترقية.","**قاعدة منسوخة احتياطيًا** — `pg_dump` مجدول، ونسخة خارج الـ VPS، واستعادة مُجرَّبة على نسخة مؤقتة.","**ذاكرة محدودة** — حدّد دائمًا سقفًا لذاكرة الحاوية: تحسب JVM حجم الكومة (heap) منه، بنسبة 70 % كحد أقصى و50 % كحجم ابتدائي افتراضيًا.","**فحوص مراقَبة** — تابع `\u002Fhealth\u002Fready` على المنفذ `9000` غير المنشور من أدوات المراقبة لديك.","**ترويسات الوكيل تحت السيطرة** — يجب أن يستبدل الوكيل العكسي ترويسات `X-Forwarded-*` الواردة من العميل لا أن يُضاف إليها، وألا يُتجاوز أبدًا.","**الأحداث مفعَّلة** — سجّل عمليات الدخول وإجراءات الإدارة في كل realm لمعرفة من دخل ومن عدّل ماذا.",{"type":39,"title":148,"body":149},"استكشاف الأخطاء: فشل التشغيل مع نظام ملفات للقراءة فقط","غالبًا ما يمرّ تحصين الحاوية عبر `read_only: true` في Compose أو `readOnlyRootFilesystem: true` في Kubernetes. ومع Keycloak فالموضوع مفتوح منذ أبريل 2022 في المسألة رقم 11286 من المستودع keycloak\u002Fkeycloak (\"Keycloak does not work with Docker read_only: true\")، وكانت لا تزال نشطة في نهاية أكتوبر 2026. المثبَت من جهة المشروع: أعاد أحد المساهمين في Keycloak إنتاج الفشل على الإصدار 19.0.2 في سبتمبر 2022، وصُنّفت المسألة تحسينًا بوسم \"help wanted\"، وأُضيفت إلى لوحة مشروع في المستودع في سبتمبر 2026. وغير المثبَت: لا تصف الوثائق الرسمية حتى اليوم أي وضع للقراءة فقط (صفحة الحاويات لا تذكره)، ولم يعتمد أي مشرف حلًّا بديلًا. الحلول أدناه صادرة عن مشاركين في النقاش؛ نجحت عندهم وفي إصداراتهم، دون ضمان بعد أي ترقية. وفي 26 أكتوبر 2026 عرض أحد المساهمين كتابة الوثائق الناقصة بعد التحقق بنفسه من هذه الحلول.",{"type":43,"title":151,"items":152},"رسائل الخطأ التي ينبغي التعرف عليها",[153,154,155,156,157],"**`sed: couldn't open temporary file \u002Fopt\u002Fjboss\u002Fkeycloak\u002Fbin\u002FseduHoQM0: Read-only file system`** — رسالة التقرير الأول على صورة WildFly القديمة (الإصدار 16.1.1 في المسألة): الأمر `sed -i` في سكربت التشغيل لا يستطيع إنشاء ملفه المؤقت. أما في توزيعة Quarkus فتختلف الأعراض، انظر الأسطر التالية.","**‎`KC-SERVICES0075: Failed to get theme request: java.lang.RuntimeException: Temporary directory \u002Fopt\u002Fkeycloak\u002Fbin\u002F..\u002Fdata\u002Ftmp does not exist and it was not possible to create it.`** — أُبلغ عنها أثناء الترقية إلى 20.0.1: يبدأ الخادم ثم يفشل عند أول صفحة تخدم قالبًا. وأفاد أحد المشاركين بأن تركيب وحدة تخزين قابلة للكتابة على `\u002Fopt\u002Fkeycloak\u002Fdata\u002Ftmp` يعالج هذه الحالة.","**تشغيل بطيء أو فشل كتابة في `\u002Fopt\u002Fkeycloak\u002Flib\u002Fquarkus`** — قارن أحد المشاركين الحاوية قبل التشغيل وبعده بالأمر `docker diff`: تتغير ثلاثة مجلدات هي `\u002Ftmp` و`\u002Fopt\u002Fkeycloak\u002Fdata` و`\u002Fopt\u002Fkeycloak\u002Flib\u002Fquarkus`. يحتوي الأخير على ناتج البناء الذي يعيد `start` توليده ما لم تكن الصورة مُحسَّنة مسبقًا.","**مجلد `data` للقراءة فقط بعد `COPY`** — يذكر أحد المشاركين أن نسيان `--chown=keycloak:keycloak` عند نسخ ملف realm يترك `\u002Fopt\u002Fkeycloak\u002Fdata` مملوكًا لـ root، فلا يستطيع Keycloak الكتابة فيه.","**نسخ `\u002Fopt\u002Fkeycloak` إلى وحدة تخزين عند التشغيل** — حل بحاوية تهيئة أُبلغ عنه في Kubernetes: يعمل، لكن عدة مشاركين يخشون اضطرارهم إلى إعادة اختباره عند كل ترقية.",{"type":56,"title":159,"steps":160},"الحل البديل المُبلَّغ عنه في Docker Compose",[161,164,167,170,173],{"title":162,"body":163},"الانطلاق من الصورة المُحسَّنة مسبقًا","أعد استخدام الصورة المبنية أعلاه. يُنفَّذ ‎`kc.sh build` وقت البناء: فلا يُعاد كتابة `\u002Fopt\u002Fkeycloak\u002Flib\u002Fquarkus` عند التشغيل، ويتم التشغيل بالأمر `start --optimized`.",{"title":165,"body":166},"تعريف نظام الملفات للقراءة فقط","أضف `read_only: true` إلى خدمة `keycloak` في ملف Compose. من دون أي تغيير آخر تفشل الحاوية: وهذا هو السلوك الذي تصفه المسألة.",{"title":168,"body":169},"توفير المجلدات القابلة للكتابة","ركّب `tmpfs` على `\u002Ftmp` ووحدة تخزين مؤقتة على `\u002Fopt\u002Fkeycloak\u002Fdata`. في التقرير القائم على صورة مُحسَّنة مسبقًا كفى هذان المجلدان؛ وعلى صورة غير مُحسَّنة أضاف مشاركون آخرون `\u002Fopt\u002Fkeycloak\u002Flib\u002Fquarkus`.",{"title":171,"body":172},"إعادة ما كان داخل data","تبدأ وحدة التخزين المؤقتة فارغة: فما كانت الصورة تضعه في هذا المجلد، ومنه `data\u002Fimport`، لم يعد ظاهرًا فيه. وإذا كنت تستورد realms بالخيار `--import-realm` فركّب مجلدها بشكل منفصل للقراءة فقط.",{"title":174,"body":175},"التحقق بفتح صفحة تسجيل الدخول","نفّذ `docker compose up -d` ثم `docker compose logs -f keycloak`، ثم افتح صفحة تسجيل الدخول: أول طلب لقالب هو ما أفشل بعض التركيبات. واختم بـ `docker diff` لسرد ما كتبته الحاوية فعلًا.",{"type":177,"title":178,"body":179},"tip","القراءة فقط: تحصين لا توثّقه الجهة المطوّرة","احتفظ بهذا الوضع للبيئات التي تفرضه فيها سياسة، كتدقيق أمني أو قاعدة في العنقود، وتقبّل كلفته: إعداد غير موثَّق يجب إعادة اختباره عند كل ترقية، وهو ما يخشاه عدة مشاركين في المسألة. وعلى VPS واحد تعطي إجراءات أخرى مكسبًا أوضح بصيانة أقل: إسقاط قدرات Linux (`cap_drop: [ALL]`)، والخيار `no-new-privileges`، وعدم نشر منافذ الإدارة، ووضع قاعدة PostgreSQL على شبكة Docker داخلية.",{"type":177,"body":181},"في بيئة الإنتاج، لا تُشغّل Keycloak أبدًا بقاعدة H2 المدمجة ولا تُتِح realm `master` للعموم: أنشئ realm مخصّصًا لكل تطبيق أو لكل عميل، واحتفظ بـ `master` للإدارة فقط. ولتحصين النسخة، عطّل التسجيل الحرّ، وفعّل `brute force detection` في Realm Settings > Security Defenses، وهيّئ كل شيء عبر ملفات استيراد realm (`--import-realm`) كي تُخضع تهيئتك لإدارة الإصدارات بدلًا من النقر في واجهة المستخدم.","ثبّت Keycloak على خادمك VPS","Keycloak متاح في Marketplace من ServOrbit: صورة رسمية وقاعدة بيانات PostgreSQL وHTTPS وحساب مسؤول جاهز عند التثبيت.","اكتشف Keycloak في Marketplace","\u002Fapplications\u002Fالأمن-السيبراني-والحصن\u002Fkeycloak",[187,205,224],{"id":188,"slug":189,"slugs":190,"title":194,"excerpt":195,"readTime":23,"views":18,"isPinned":19,"noindex":19,"publishedAt":196,"updatedAt":197,"category":198,"categories":199,"featuredImage":30,"bgImage":31,"posterImage":201,"relatedSolution":202},105,"مراقبة-خادمك-الافتراضي-vps-باستخدام-uptime-kuma",{"fr":191,"en":192,"ar":189,"es":193},"superviser-vps-uptime-kuma","monitoring-your-vps-with-uptime-kuma","supervisar-vps-con-uptime-kuma","مراقبة خادمك الافتراضي VPS باستخدام Uptime Kuma","انشر Uptime Kuma على خادمك الافتراضي VPS لمراقبة مواقعك وخدماتك ذاتيًا، مع تنبيهات وصفحة حالة عامة.","2026-03-07T00:00:00+00:00","2026-11-09T20:55:19+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[200],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fsuperviser-vps-uptime-kuma-poster.svg",{"categorySlug":203,"appSlug":204},"المراقبة-وقابلية-الرصد","uptime-kuma",{"id":206,"slug":207,"slugs":208,"title":212,"excerpt":213,"readTime":214,"views":215,"isPinned":19,"noindex":19,"publishedAt":216,"updatedAt":217,"category":218,"categories":219,"featuredImage":30,"bgImage":31,"posterImage":221,"relatedSolution":222},106,"مراقبة-الخادم-الافتراضي-vps-باستخدام-grafana-و-prometheus",{"fr":209,"en":210,"ar":207,"es":211},"monitoring-vps-grafana-prometheus","vps-monitoring-with-grafana-and-prometheus","monitorizacion-vps-grafana-prometheus","مراقبة VPS باستخدام Grafana وPrometheus","انشر Prometheus 3.x وGrafana 13.x وNode Exporter وAlertmanager على خادمك VPS بـ Docker Compose. لوحات معلومات وتنبيهات وتصليب.",11,1,"2026-03-06T00:00:00+00:00","2026-10-05T14:05:27+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[220],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fmonitoring-vps-grafana-prometheus-poster.svg",{"categorySlug":203,"appSlug":223},"grafana",{"id":225,"slug":226,"slugs":227,"title":231,"excerpt":232,"readTime":233,"views":215,"isPinned":19,"noindex":19,"publishedAt":234,"updatedAt":235,"category":236,"categories":237,"featuredImage":30,"bgImage":31,"posterImage":239,"relatedSolution":240},107,"راقب-خادمك-الافتراضي-vps-في-الوقت-الفعلي-باستخدام-netdata",{"fr":228,"en":229,"ar":226,"es":230},"monitorer-vps-netdata","monitor-your-vps-in-real-time-with-netdata","monitorizar-vps-en-tiempo-real-con-netdata","راقب خادمك الافتراضي VPS في الوقت الفعلي باستخدام Netdata","ثبّت Netdata على خادمك الافتراضي VPS للحصول على مراقبة لحظية بدقة الثانية: آلاف المقاييس، دون أي إعداد، مع تنبيهات مضمّنة.",3,"2026-03-05T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[238],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fmonitorer-vps-netdata-poster.svg",{"categorySlug":203,"appSlug":241},"netdata",true,1794270316243]