[{"data":1,"prerenderedAt":223},["ShallowReactive",2],{"seo-verification":3,"blog-استضافة-directus-على-خادم-vps-ma-ar":6,"promo-bar-likely":222},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-استضافة-directus-على-خادم-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":162,"ctaBody":163,"ctaButton":164,"ctaUrl":165,"relatedPosts":166},63,"استضافة-directus-على-خادم-vps",{"fr":12,"en":13,"ar":10,"es":14},"heberger-directus-vps","hosting-directus-on-a-vps","alojar-directus-en-un-vps","استضافة Directus على خادم VPS","استضِف Directus على خادم VPS الخاص بك: نظام إدارة محتوى headless ومنصّة بيانات مفتوحة المصدر فوق قاعدة بيانات SQL الخاصة بك. دليل Docker وPostgres والوكيل العكسي وSSL.",11,0,false,"2026-04-18T00:00:00+00:00","2026-11-04T16:30:25+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},6,"قواعد البيانات","bases-de-donnees","bg-teal-500\u002F10 text-teal-400","database",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-directus-vps-poster.svg",{"categorySlug":34,"appSlug":35},"أنظمة-إدارة-المحتوى-والمواقع","directus","يحوّل Directus أي قاعدة بيانات SQL إلى واجهة REST وGraphQL برمجية فورية، مع واجهة إدارة بدون كود فوقها. إنه نظام إدارة محتوى headless ومنصّة بيانات كاملة، مثالي للاستضافة الذاتية على خادم VPS لإدارة محتوى مواقعك وتطبيقاتك. وإليك كيفية نشره باستخدام PostgreSQL وDocker وشهادة SSL.",[38,42,52,55,77,80,83,86,95,113,116,144,147,157,159],{"type":39,"title":40,"body":41},"h2","لماذا تستضيف Directus ذاتيًا على خادم VPS","يتّصل Directus بقاعدة بياناتك الحالية (PostgreSQL أو MySQL أو SQLite أو MariaDB) دون فرض مخططه الخاص: فهو يفحص جداولك ويولّد واجهة برمجية وواجهة إدارة فوقها. باستضافته ذاتيًا على خادم VPS، تتجنّب التسعير لكل مقعد في العرض السحابي الرسمي، وتحتفظ بمحتواك ووسائطك وقاعدة بيانات SQL الخاصة بك على بنيتك التحتية. إنه خيار هيكلي للوكالات التي تسلّم عدة مواقع: يمكن لـ Directus واحد أن يعمل كمكتب خلفي لعدة واجهات أمامية (Nuxt وNext والجوال). ويتيح لك التحكم في قاعدة البيانات والإضافات وwebhooks دمج Directus في أي مسار بيانات دون الاعتماد على مزوّد خارجي، دون خدمة طرف ثالث تتوسّط بين واجهاتك الأمامية وبياناتك.",{"type":43,"title":44,"items":45},"ul","الفوائد الملموسة للاستضافة الذاتية لـ Directus",[46,47,48,49,50,51],"واجهات REST وGraphQL برمجية مُولّدة تلقائيًا من مخطط SQL الخاص بك، دون كتابة كود.","واجهة إدارة بدون كود لنمذجة المحتوى وإدارة الأدوار والصلاحيات الدقيقة.","متوافق مع قاعدة بيانات SQL موجودة: يمكنك كشفها دون ترحيلها أو تشويهها.","إدارة الوسائط، وتحويلات الصور الفورية، وتخزين محلي أو على S3 حسب اختيارك.","Flows وwebhooks مدمجة لأتمتة المعالجات (الإشعارات والمزامنة).","الاستخدام المشترك: يمكن لخادم VPS واحد يشغّل Directus أن يغذّي عدة مواقع وتطبيقات واجهة أمامية.",{"type":39,"title":53,"body":54},"المتطلبات المادية والبرمجية","Directus هو تطبيق Node.js يعتمد على قاعدة بيانات خارجية. احسب حدًا أدنى من 2 غيغابايت من RAM لتشغيل Directus وPostgreSQL بأريحية على خادم VPS نفسه؛ ويُوصى بـ 4 غيغابايت في الإنتاج مع تحويلات الصور وعدة مسؤولين متزامنين. يكفي معالج افتراضي إلى معالجين للبدء. خطّط لذاكرة Redis مؤقتة (اختيارية لكن يُنصح بها للجلسات وتحديد المعدل) ووحدة تخزين من 30 إلى 60 غيغابايت SSD حسب مكتبة وسائطك. ستحتاج إلى Docker وDocker Compose، ونطاق يشير إلى خادم VPS، ومفتاح سري قوي لـ `SECRET` وتجزئة الرموز (tokens). ويبقى Postgres قاعدة البيانات الموصى بها للميزات المتقدمة.",{"type":56,"title":57,"steps":58},"steps","نشر Directus خطوة بخطوة",[59,62,65,68,71,74],{"title":60,"body":61},"تجهيز خادم VPS وDocker","بعد الاتصال عبر SSH، ثبّت Docker وDocker Compose. أنشئ سجل DNS من النوع A لـ `cms.mydomain.com` يشير إلى عنوان IP الخاص بخادم VPS. افتح المنفذين 80 و443 فقط في جدار الحماية (`ufw allow 80,443\u002Ftcp`).",{"title":63,"body":64},"تعريف الحزمة في docker-compose.yml","أعلن عن ثلاث خدمات: `database` (صورة `postgres:16` مع وحدة تخزين دائمة)، و`cache` (`redis`)، و`directus` (`directus\u002Fdirectus`). اربط Directus بـ Postgres عبر المتغيّرات `DB_CLIENT=pg` و`DB_HOST=database` و`DB_DATABASE` و`DB_USER` و`DB_PASSWORD`.",{"title":66,"body":67},"تهيئة متغيّرات البيئة","املأ `KEY` و`SECRET` بسلاسل عشوائية (`openssl rand -hex 32`)، وحدّد `ADMIN_EMAIL` و`ADMIN_PASSWORD` للحساب الأول، و`PUBLIC_URL=https:\u002F\u002Fcms.mydomain.com` لتكون الروابط والملفات المرفوعة صحيحة.",{"title":69,"body":70},"بدء التشغيل وتهيئة قاعدة البيانات","نفّذ `docker compose up -d`. عند أول تشغيل، يُنشئ Directus جداول النظام وحساب الإدارة تلقائيًا. تابع التهيئة بـ `docker compose logs -f directus`.",{"title":72,"body":73},"توصيل الوكيل العكسي وTLS","ضع Caddy أو Traefik أمام Directus لإدارة Let's Encrypt. مع Traefik، أضف تسميات التوجيه على خدمة `directus` وأداة حل الشهادات (certresolver) الخاصة بـ ACME. تأكد من أن `PUBLIC_URL` يطابق تمامًا نطاق HTTPS لتجنّب مشكلات CORS ورفع الملفات.",{"title":75,"body":76},"التأمين والنسخ الاحتياطي","قيّد أصول CORS على نطاقات واجهاتك الأمامية، وعطّل التسجيل العام إن لم يكن ضروريًا، ثم جدوِل `pg_dump` يوميًا بالإضافة إلى نسخة من مجلد `uploads` إلى تخزين بعيد.",{"type":78,"body":79},"tip","لخدمة الصور بأداء عالٍ، فعّل تخزين الوسائط على حاوية متوافقة مع S3 بدلاً من القرص المحلي، واضبط `ASSETS_CACHE_TTL`: يحدد هذا المتغيّر مدة التخزين المؤقت في المتصفح (قيمة `max-age` في ترويسة `Cache-Control`، وهي 30 يومًا افتراضيًا)، ولا يخزّن التحويلات مؤقتًا على الخادم. ضع شبكة CDN أمام Directus لتخفيف طلبات الوسائط عن خادم VPS. ثم قيّد التحويلات الفورية: يحدّ `ASSETS_TRANSFORM_MAX_OPERATIONS` من عدد العمليات في الطلب الواحد (5 افتراضيًا، دون احتساب الإعدادات المسبقة المحفوظة)، ويحدّ `ASSETS_TRANSFORM_IMAGE_MAX_DIMENSION` من الأبعاد بالبكسل (6000 افتراضيًا)، ويحدّ `ASSETS_TRANSFORM_MAX_CONCURRENT` من عدد التحويلات المتزامنة (25 افتراضيًا).",{"type":39,"title":81,"body":82},"تقديم الملفات من S3: ما الذي يتغيّر في الذاكرة","عندما يشير تخزين الوسائط إلى حاوية متوافقة مع S3، لا يعيد Directus توجيه الزائر إلى الحاوية: يمرّ الطلب `\u002Fassets\u002FFILE_ID` عبر عملية Node التي تقرأ الكائن من المزوّد وتبثّه إلى العميل على شكل تدفّق. يُضبط المشغّل بمتغيرات: `STORAGE_LOCATIONS=s3` ثم `STORAGE_S3_DRIVER=s3` و`STORAGE_S3_KEY` و`STORAGE_S3_SECRET` و`STORAGE_S3_BUCKET` و`STORAGE_S3_REGION`، ومع تخزين متوافق مثل MinIO يُضاف `STORAGE_S3_ENDPOINT` مع `STORAGE_S3_FORCE_PATH_STYLE=true`. والنتيجة العملية أن ذاكرة الحاوية تتوقف على عدد التنزيلات المتزامنة وسرعة كل عميل، لا على حجم قاعدة البيانات وحده. وعلى هذا المسار يبلّغ مستخدمون عن استهلاك لا ينخفض، خصوصًا مع مقاطع الفيديو والملفات الكبيرة.",{"type":39,"title":84,"body":85},"استكشاف الأخطاء: الذاكرة ترتفع حتى تتوقف الحاوية","يرد وصف هذا العَرَض في البلاغ 26206 من مستودع directus\u002Fdirectus، الذي فُتح في نوفمبر 2025 على نسخة Docker مستضافة ذاتيًا بالإصدار 11.13.2 مع PostgreSQL 16: ترتفع ذاكرة الحاوية باطّراد حتى الحد المضبوط، ثم تُقتل الحاوية وتُعاد. الميل أخفّ ليلًا وفي عطلة نهاية الأسبوع، ما يشير إلى حركة الملفات لا إلى تسرّب في وضع الخمول. وعند كتابة هذا المقال (أواخر أكتوبر 2026) ما زال البلاغ مفتوحًا بوسوم Bug وPerformance وAWS S3. لم يؤكد أي عضو في فريق Directus سببًا هناك: كل ما يلي فرضيات من المشاركين، لا تشخيصًا من الصيانة.",{"type":43,"title":87,"items":88},"ما يذكره المشاركون في البلاغ",[89,90,91,92,93,94],"**ملفات ثقيلة** — تُستنسخ المشكلة بسكربت حمل k6 على مقاطع فيديو من 36 إلى 86 ميغابايت، وعلى اثني عشر ملفًا بنحو 500 ميغابايت؛ ويمرّ الطلب عبر `\u002Fassets`.","**عدة وسائط تخزين** — يُذكر AWS S3 وMinIO، وكذلك خدمة أخرى متوافقة مع S3 لدى مزوّد تطبيقات.","**نمو بطيء مع الصور** — ينتقل أحد المشاركين من نحو 200 ميغابايت بعد إعادة النشر إلى 1 غيغابايت خلال أيام؛ ويرى آخر حاويات ترتفع من 1.3 غيغابايت إلى أكثر من 2 غيغابايت في قرابة أسبوعين.","**فرضية التدفقات غير المغلقة** — يوجد إصلاح ينظّف التدفقات حين ينقطع اتصال العميل أثناء التنزيل؛ ويضعه أحد المساهمين في 11.17.2، ويلاحظ مشارك تحسنًا دون اختفاء النمو.","**فرضية مجموع التحقق** — في أكتوبر 2026 يعزو أحد المشاركين المشكلة إلى التحقق من مجموع الاختبار لاستجابات SDK الخاص بـ AWS S3: فتدفّق التحقق (`ChecksumStream` من الحزمة `@smithy\u002Futil-stream`) يتجاهل الضغط العكسي بحسب قوله. وقد جرّب ذلك بحد 1 غيغابايت (GiB) وكائن بحجم 150 ميغابايت؛ عميل بطيء واحد يرفع الذاكرة الخارجية من 8 إلى 160 ميغابايت، وثلاثة عملاء يتسببون في الإيقاف خلال 15 ثانية، أما الملفات المرفوعة على أجزاء (multipart) فلا تُحدث الحالة. ويوضح أن ذلك لا يفسّر النمو البطيء على مدى أيام دون تنزيلات كبيرة.","**تقرير عن الإصدار 12** — يذكر مشارك آخر أن الترقية إلى الإصدار 12 حلّت المشكلة عنده، بينما يبقى البلاغ مفتوحًا.",{"type":56,"title":96,"steps":97},"التشخيص دون تخمين",[98,101,104,107,110],{"title":99,"body":100},"تأكيد الإيقاف بسبب نفاد الذاكرة","ابحث عن أثر النواة بالأمر `dmesg -T | grep -i \"out of memory\"`، أو تابع `docker events --filter event=oom`، أو اقرأ الحقل `OOMKilled` في `docker inspect`. هذا النوع من الإيقاف لا يترك أي رسالة خطأ من Directus: تُعاد الحاوية ببساطة.",{"title":102,"body":103},"ضبط حد صريح للذاكرة","في ملف Compose، امنح الخدمة `directus` حدًا (`mem_limit` أو `deploy.resources.limits.memory`) أقل من ذاكرة RAM الحرة في خادم VPS، مع `restart: unless-stopped`. وبلا حد، تختار نواة المضيف بنفسها أي عملية تقتلها، وأحيانًا PostgreSQL بدل Directus.",{"title":105,"body":106},"قياس المنحنى","سجّل `docker stats --no-stream` كل دقيقة في ملف، مع عدد طلبات `\u002Fassets` الجارية. دوّن القيمة بعد إعادة التشغيل والهضبة، وهل يتبع المنحنى الحركة أم يرتفع في الخمول. حدّ كومة Node (`--max-old-space-size`) لا يقيّد الذاكرة خارج الكومة، أي المخازن المؤقتة، وهي المنطقة التي تستهدفها فرضية مجموع التحقق.",{"title":108,"body":109},"الاستنساخ بعميل بطيء","في بيئة اختبار، وليس في الإنتاج أبدًا، نزّل ملفًا كبيرًا بالأمر `curl --limit-rate 200k -o \u002Fdev\u002Fnull https:\u002F\u002Fcms.mydomain.com\u002Fassets\u002FFILE_ID` من عدة طرفيات وراقب `docker stats`. وسكربت k6 يفعل الأمر نفسه بطريقة أكثر قابلية للتكرار.",{"title":111,"body":112},"التقاط ملفَّي تعريف للكومة","أضف `NODE_OPTIONS=--heap-prof --heap-prof-dir=\u002Fdirectus\u002Fprofiles` إلى بيئة الخدمة، مع مجلد مركّب كوحدة تخزين. لا يكتب Node ملف التعريف إلا عند خروج العملية خروجًا سليمًا: أوقف الحاوية بالأمر `docker compose stop directus` مرة أولى بعد الإقلاع مباشرة (مرجع)، ثم مرة ثانية حين تتضخم الذاكرة. الإيقاف بسبب نفاد الذاكرة يقتل العملية دون كتابة أي ملف تعريف.",{"type":39,"title":114,"body":115},"حلول بديلة مبلَّغ عنها، لم يؤكد فريق Directus أيًّا منها","لم تنل أي من هذه المسارات تأكيدًا رسميًا في البلاغ. جرّبها في بيئة ما قبل الإنتاج، وقِس قبل التطبيق وبعده، ولا تقدّمها على أنها إصلاحات.",{"type":117,"title":118,"headers":119,"rows":123},"comparison","مسارات مبلَّغ عنها لمشكلة الذاكرة",[120,121,122],"المسار","مصدر التقرير","الحالة والتحفظات",[124,128,132,136,140],[125,126,127],"`AWS_RESPONSE_CHECKSUM_VALIDATION=WHEN_REQUIRED`","مشارك، في أكتوبر 2026، مع بيئة اختبار","لم يؤكده الفريق. وبحسب وثائق AWS لا يُجرى التحقق من مجموع اختبار التنزيل إلا إذا فعّله المستدعي صراحةً: فتفقد هذا الفحص للسلامة.",[129,130,131],"الترقية إلى الإصدار 12","مشارك يقول إنها حلّت المشكلة؛ وآخر يضع إصلاحًا ابتداءً من 12.3.1","غير مؤكدة. ملاحظات الإصدار 12.3.1 تذكر فقط تحديث اعتماديات مشغّلات التخزين. تغيير إصدار رئيسي: اقرأ الملاحظات وانسخ احتياطيًا قبل ذلك.",[133,134,135],"الإصدار 11.17.2 أو أحدث","مساهم يوصي به لتنظيف تدفقات العملاء المنقطعين","الإصلاح مدموج ويغلق بلاغًا آخر (26991)؛ وفي البلاغ 26206 يصف مشارك تحسنًا مع استمرار النمو.",[137,138,139],"إعادة نشر مجدولة عبر cron","مشارك، كحل مؤقت","يخفي العَرَض دون إصلاح شيء، ويقطع التنزيلات الجارية.",[141,142,143],"حد للذاكرة وإعادة تشغيل تلقائية","توصية تشغيلية من هذا الدليل","يحصر الضرر: تُعاد الحاوية بسلاسة بدل جرّ المضيف معها. ولا يعالج السبب.",{"type":39,"title":145,"body":146},"ما الذي يجب جمعه لتقرير خلل مفيد","طلب الفريق ملفات تعريف للكومة: وبدونها لا يمكن للبلاغ أن يتقدم. قبل التعليق أو فتح بلاغ جديد، اجمع العناصر التالية.",{"type":43,"title":148,"items":149},"الملف الذي يُرفق",[150,151,152,153,154,155,156],"**الإصدار الدقيق** — وسم صورة Directus (وليس `latest`) وتاريخ آخر إعادة تشغيل.","**التخزين** — المشغّل والمزوّد (AWS أو MinIO أو غيرهما) والمنطقة، دون المفتاح أو السر، مع قيمة `AWS_RESPONSE_CHECKSUM_VALIDATION` إن كانت معرّفة.","**الحدود** — ذاكرة الحاوية وذاكرة RAM للمضيف وسياسة إعادة التشغيل.","**الحمل** — عدد الملفات المقدَّمة وأحجامها، والتنزيلات المتزامنة، ووجود CDN أو وكيل أمام Directus، والعملاء البطيئين أو المنقطعين.","**منحنى الذاكرة** — الذاكرة الإجمالية للحاوية (لا للعملية وحدها) على مدى عدة أيام، مع حركة `\u002Fassets` بجانبها.","**ملفا تعريف للكومة** — مرجعي وآخر في حالة التضخم. ويوضح المساهم الذي يطلبهما أنهما لا يحتويان إلا على آثار المكدس وأحجام تخصيص مأخوذة بالعينات، لا محتوى الملفات ولا الأسرار.","**طريقة رفع الملفات** — دفعة واحدة أم على أجزاء (multipart)، لأن مشاركًا يؤكد أن الأخيرة لا تُحدث الحالة.",{"type":78,"body":158},"قبل الترقية إلى الإصدار 12، اقرأ ملاحظات الإصدار 12.3.0: فهو يصلح اتصالات تخزين كانت تتسرّب عند إلغاء طلب أصل أو فشل تحويل، لكنه يغيّر أيضًا سلوك `exists()` الذي يرمي الآن خطأً بدل إرجاع القيمة خطأ. ومع S3 قد يعطي كائن غير موجود استجابة 403 بدل 404 إذا لم تسمح بيانات الاعتماد بسرد محتوى الحاوية: امنح الصلاحية `s3:ListBucket`. انسخ قاعدة البيانات والملفات احتياطيًا، ثم اختبر الترقية على نسخة قبل لمس الإنتاج.",{"type":39,"title":160,"body":161},"نشر Directus بنقرة واحدة على ServOrbit","يتوفر Directus مباشرةً من سوق ServOrbit. اختر التطبيق عند طلب خادم VPS: يأتي Docker مُثبَّتاً مسبقاً، وتبدأ حاوية Directus تلقائياً، وتُعرض بيانات اعتمادك (`admin@example.com` وكلمة مرور مُوّلدة) في لوحة ServOrbit. ادخل إلى واجهة الإدارة عبر نفق SSH أو بربط نطاق من لوحتك — دون تثبيت Docker أو تعديل ملف Compose يدوياً.","انشر Directus على VPS بنقرة واحدة","اطلب خادم ServOrbit VPS مع Directus مُثبَّت مسبقاً: Docker مُهيَّأ، الحاوية تعمل، بيانات الاعتماد مُوّلدة ومعروضة في لوحتك. لا إعداد يدوي مطلوب.","عرض Directus في Marketplace","\u002Fapplications\u002Fأنظمة-إدارة-المحتوى-والمواقع\u002Fdirectus",[167,187,204],{"id":168,"slug":169,"slugs":170,"title":174,"excerpt":175,"readTime":176,"views":177,"isPinned":19,"noindex":19,"publishedAt":178,"updatedAt":179,"category":180,"categories":181,"featuredImage":30,"bgImage":31,"posterImage":183,"relatedSolution":184},56,"postgresql-على-خادم-vps-قاعدة-بيانات-موثوقة-ومتحكم-بها",{"fr":171,"en":172,"ar":169,"es":173},"heberger-postgresql-vps","postgresql-on-a-vps-a-reliable-and-controlled-database","alojar-postgresql-en-un-vps","‎PostgreSQL على خادم VPS: قاعدة بيانات موثوقة ومتحكَّم بها","‎استضف PostgreSQL على VPS: إعداد الإنتاج، نسخ pgBackRest، HA بالبث، مقارنة RDS\u002FSupabase\u002FNeon واستكشاف أخطاء OOM.",9,1,"2026-04-25T00:00:00+00:00","2026-10-21T15:21:37+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[182],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-postgresql-vps-poster.svg",{"categorySlug":185,"appSlug":186},"قواعد-البيانات","postgresql-stack",{"id":188,"slug":189,"slugs":190,"title":194,"excerpt":195,"readTime":176,"views":18,"isPinned":19,"noindex":19,"publishedAt":196,"updatedAt":197,"category":198,"categories":199,"featuredImage":30,"bgImage":31,"posterImage":201,"relatedSolution":202},57,"استضافة-mysql-على-خادم-vps",{"fr":191,"en":192,"ar":189,"es":193},"heberger-mysql-vps","hosting-mysql-on-a-vps","alojar-mysql-en-un-vps","استضافة MySQL على خادم VPS: دليل شامل","ثبّت ‎MySQL 8.4 LTS‎ على خادم ‎VPS‎: المتطلبات، التأمين، أداء ‎InnoDB‎، الوصول عن بُعد الآمن، النسخ الاحتياطية التلقائية، واستكشاف الأخطاء.","2026-04-24T00:00:00+00:00","2026-11-09T20:55:18+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\u002Fheberger-mysql-vps-poster.svg",{"categorySlug":185,"appSlug":203},"mysql-stack",{"id":205,"slug":206,"slugs":207,"title":211,"excerpt":212,"readTime":213,"views":18,"isPinned":19,"noindex":19,"publishedAt":214,"updatedAt":215,"category":216,"categories":217,"featuredImage":30,"bgImage":31,"posterImage":219,"relatedSolution":220},58,"استضافة-redis-على-خادم-vps",{"fr":208,"en":209,"ar":206,"es":210},"heberger-redis-vps","hosting-redis-on-a-vps","alojar-redis-en-un-vps","استضافة ‎Redis‎ على خادم ‎VPS‎: الدليل الشامل","انشر ‎Redis‎ على خادم ‎VPS‎ السحابي: متطلبات ‎RAM‎ و‎CPU‎، الأمان (‎ACL‎ و‎TLS‎)، استمرارية ‎RDB\u002FAOF‎، استكشاف الأخطاء والتوافر العالي.",10,"2026-04-23T00:00:00+00:00","2026-09-08T21:59:59+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[218],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-redis-vps-poster.svg",{"categorySlug":185,"appSlug":221},"redis-stack",true,1794270218119]