[{"data":1,"prerenderedAt":117},["ShallowReactive",2],{"seo-verification":3,"blog-heberger-typesense-vps-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":20,"featuredImage":22,"bgImage":23,"posterImage":24,"relatedSolution":25,"intro":27,"sections":28,"ctaTitle":71,"ctaBody":72,"ctaButton":73,"ctaUrl":74,"relatedPosts":75},68,"heberger-typesense-vps","استضافة Typesense على خادم VPS","انشر Typesense على خادمك الـVPS Cloud: محرك بحث فوري ومتسامح مع الأعطال، عبر Docker مع وكيل عكسي وSSL.",6,316,false,"2026-04-13T00:00:00+00:00",{"id":11,"name":16,"slug":17,"color":18,"icon":19},"قواعد البيانات","bases-de-donnees","bg-teal-500\u002F10 text-teal-400","database",[21],{"id":11,"name":16,"slug":17,"color":18,"icon":19},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-typesense-vps-poster.svg",{"categorySlug":17,"appSlug":26},"typesense","Typesense محرك بحث مفتوح المصدر متسامح مع الأخطاء المطبعية، فائق الخفة وأبسط بكثير في التشغيل من Elasticsearch. وعلى خادم VPS مخصّص، تحتفظ بزمام بياناتك وتكاليفك. إليك كيفية نشره بشكل سليم في بيئة الإنتاج.",[29,33,43,46,68],{"type":30,"title":31,"body":32},"h2","لماذا تستضيف Typesense ذاتيًا على خادم VPS","تحتسب خدمات البحث المُدارة (Algolia وغيرها) التكلفة لكل استعلام ولكل مستند مُفهرَس: وترتفع الفاتورة بسرعة بمجرد أن يكبر كتالوجك. يقدّم Typesense بحثًا فوريًا (زمن استجابة p95 دون 50 ميلي ثانية) مع التسامح مع الأخطاء المطبعية والترتيب حسب الصلة، وكل ذلك في ملف تنفيذي واحد دون JVM. وبنشره على خادمك الـVPS الخاص، تحدّد تكلفة شهرية قابلة للتوقّع، وتُبقي فهارس مستخدميك خارج سحابة طرف ثالث، ويمكنك وضع نسختك أقرب ما يكون إلى تطبيقك لتقليل زمن استجابة الشبكة.",{"type":34,"title":35,"items":36},"ul","ما الذي تكسبه بشكل ملموس",[37,38,39,40,41,42],"تكلفة ثابتة بدلًا من فوترة لكل استعلام تنفجر مع حركة المرور","زمن استجابة أدنى بوضع Typesense على الشبكة الخاصة نفسها لتطبيقك","التسامح مع الأعطال والبحث أثناء الكتابة (typo-tolerance) دون ضبط معقّد","بيانات الفهرس وسجلات البحث محفوظة على بنيتك التحتية","بصمة ذاكرة مخفّضة: لا JVM، وعملية واحدة فقط للإشراف عليها","واجهة REST بسيطة ومفاتيح API محدودة النطاق (search-only \u002F admin) لتأمين الواجهة الأمامية",{"type":30,"title":44,"body":45},"متطلبات واقعية","يُحمّل Typesense فهارسه في الذاكرة: احسب حجم ذاكرة RAM وفقًا لحجم مجموعتك. لكتالوج يصل إلى بضع مئات الآلاف من المستندات، يكفي خادم VPS بمعالجين افتراضيين (2 vCPU) و4 غيغابايت من ذاكرة RAM بسهولة. احتسب 8 غيغابايت عند تجاوز المليون مستند أو للحقول المتجهية (البحث الدلالي). خصّص قرص SSD لاستمرارية البيانات، مع تثبيت Docker وDocker Compose، بالإضافة إلى نطاق فرعي من نوع `search.yourdomain.com` يشير إلى عنوان IP الخاص بالخادم.",{"type":47,"title":48,"steps":49},"steps","النشر خطوة بخطوة",[50,53,56,59,62,65],{"title":51,"body":52},"تجهيز خادم VPS وDocker","حدّث النظام، وثبّت Docker وإضافة Compose، ثم أنشئ مجلدًا مخصّصًا: `mkdir -p \u002Fopt\u002Ftypesense\u002Fdata`. ستستضيف وحدة التخزين هذه الفهارس المحفوظة على قرص SSD.",{"title":54,"body":55},"تعريف الخدمة بمفتاح API قوي","في ملف `docker-compose.yml`، أعلن عن صورة `typesense\u002Ftypesense:0.25.2`، واربط `\u002Fopt\u002Ftypesense\u002Fdata:\u002Fdata`، واعرض المنفذ 8108 محليًا فقط (`127.0.0.1:8108`)، ومرّر `--api-key` عبر متغير مُولَّد بواسطة `openssl rand -base64 32`.",{"title":57,"body":58},"التشغيل والتحقق من السلامة","ابدأ بـ `docker compose up -d` ثم اختبر: يجب أن يعيد `curl http:\u002F\u002F127.0.0.1:8108\u002Fhealth` القيمة `{\"ok\":true}`. ثم أنشئ أول مجموعة عبر واجهة REST للتحقق من الفهرسة.",{"title":60,"body":61},"وضع وكيل عكسي + SSL","اضبط Nginx (أو Caddy) لعرض `search.yourdomain.com` نحو `127.0.0.1:8108`. مع Caddy، تولّد كتلة بسيطة `reverse_proxy 127.0.0.1:8108` شهادة Let's Encrypt تلقائيًا؛ ومع Nginx، استخدم `certbot --nginx`.",{"title":63,"body":64},"عزل مفاتيح API","لا تنشر أبدًا مفتاح الإدارة (admin) في جهة المتصفح. أنشئ مفتاحًا محدود النطاق `search-only` (`actions: documents:search`) ولا تعرض سواه في واجهتك الأمامية بلغة JavaScript.",{"title":66,"body":67},"أتمتة النسخ الاحتياطية","جدوِل تنفيذ `docker exec` لنقطة النهاية `\u002Foperations\u002Fsnapshot` أو ملف `tar` لوحدة التخزين `\u002Fopt\u002Ftypesense\u002Fdata` يُدفع كل ليلة إلى تخزين كائني بعيد.",{"type":69,"body":70},"tip","يكفي تفعيل عقدة واحدة في الوضع الدائم لمعظم المشاريع، لكن إن أصبح بحثك حرجًا، فأنشئ عنقود Raft من 3 عقد (`--nodes`) عبر 3 خوادم VPS لتحقيق التوافر العالي: يتولى Typesense النسخ المتماثل بنفسه ويحوّل القيادة (leader) تلقائيًا عند حدوث عطل، دون موازِن أحمال على مستوى التطبيق في جهة الكتابة.","انشر Typesense في دقائق معدودة","يأتي خادم VPS Cloud من ServOrbit مع Docker مُهيّأ مسبقًا وشبكة خاصة منخفضة زمن الاستجابة، مثالية لتشغيل Typesense إلى جانب تطبيقك. مع قوالب جاهزة للاستخدام.","أطلق خادمي VPS Cloud","\u002Fvps-cloud",[76,90,104],{"id":77,"slug":78,"title":79,"excerpt":80,"readTime":81,"views":82,"isPinned":13,"publishedAt":83,"category":84,"categories":85,"featuredImage":22,"bgImage":23,"posterImage":87,"relatedSolution":88},56,"heberger-postgresql-vps","PostgreSQL على خادم VPS: قاعدة بيانات موثوقة ومُتحكَّم بها","استضف PostgreSQL على خادم VPS: وحدات التخزين والنسخ الاحتياطية والوصول الشبكي المحدود والإعداد السليم لتطبيقاتك.",8,2240,"2026-04-25T00:00:00+00:00",{"id":11,"name":16,"slug":17,"color":18,"icon":19},[86],{"id":11,"name":16,"slug":17,"color":18,"icon":19},"\u002Fblog\u002Fcovers\u002Fheberger-postgresql-vps-poster.svg",{"categorySlug":17,"appSlug":89},"postgresql",{"id":91,"slug":92,"title":93,"excerpt":94,"readTime":95,"views":96,"isPinned":13,"publishedAt":97,"category":98,"categories":99,"featuredImage":22,"bgImage":23,"posterImage":101,"relatedSolution":102},57,"heberger-mysql-vps","استضافة MySQL على خادم VPS","استضِف MySQL على خادم VPS السحابي الخاص بك: نشر عبر Docker، وتأمين، وضبط إعدادات InnoDB، ونسخ احتياطية آلية، خطوة بخطوة.",7,509,"2026-04-24T00:00:00+00:00",{"id":11,"name":16,"slug":17,"color":18,"icon":19},[100],{"id":11,"name":16,"slug":17,"color":18,"icon":19},"\u002Fblog\u002Fcovers\u002Fheberger-mysql-vps-poster.svg",{"categorySlug":17,"appSlug":103},"mysql",{"id":105,"slug":106,"title":107,"excerpt":108,"readTime":95,"views":109,"isPinned":13,"publishedAt":110,"category":111,"categories":112,"featuredImage":22,"bgImage":23,"posterImage":114,"relatedSolution":115},58,"heberger-redis-vps","استضافة Redis على خادم VPS","انشر Redis على خادم VPS السحابي الخاص بك: تخزين مؤقت وجلسات وطوابير فائقة السرعة، مع استمرارية البيانات والأمان وضبط الذاكرة.",546,"2026-04-23T00:00:00+00:00",{"id":11,"name":16,"slug":17,"color":18,"icon":19},[113],{"id":11,"name":16,"slug":17,"color":18,"icon":19},"\u002Fblog\u002Fcovers\u002Fheberger-redis-vps-poster.svg",{"categorySlug":17,"appSlug":116},"redis",1785097292345]