لماذا تستضيف Khoj ذاتيًا على خادم VPS
يتميّز Khoj بقدرته على المزامنة مع مصادرك (ملفات Markdown وPDF وملاحظات Obsidian وNotion وGitHub) وعلى تقديم بحث دلالي إضافةً إلى إجابات حوارية. كما يوفّر وكلاء (agents) وبحثًا على الويب. على جهاز مكتبي، يظل الفهرس محليًا للآلة؛ أما على خادم VPS، فيصبح خادم Khoj نقطة وصول مركزية قابلة للمزامنة من عدة أجهزة وإضافات (Obsidian وEmacs والمتصفح). تحتفظ بالسيطرة على الفهرس المتجهي، وتختار بين نموذج LLM محلي عبر Ollama أو واجهة API، ولا تُسلَّم ملاحظاتك الشخصية أو المهنية أبدًا إلى السحابة العامة للناشر.
الفوائد الملموسة للاستضافة الذاتية
- فهرس دلالي مركزي قابل للمزامنة من عدة أجهزة ومحطات عمل
- تكاملات أصلية مع Obsidian وEmacs وإضافة المتصفح تشير إلى خادمك
- اختيار الواجهة الخلفية لنموذج LLM: Ollama محلي للخصوصية، أو واجهة API خارجية عند الحاجة
- مزامنة ملاحظات Markdown وPDF وorg-mode والمستودعات دون تعريضها للسحابة
- بحث دلالي ومحادثة حوارية على مجموعتك الشخصية الخاصة
- وصول عن بُعد آمن إلى قاعدة معارفك من أي مكان
المتطلبات العتادية والبرمجية
يعتمد Khoj على واجهة خلفية بـ Django، وقاعدة بيانات PostgreSQL مع pgvector، ونموذج تضمينات (embeddings) للفهرسة. باعتماده على واجهة API خارجية للمحادثة، يكفي نواتان vCPU و4 غيغابايت من ذاكرة RAM بسعة، مع 10 إلى 15 غيغابايت من القرص حسب حجم مجموعتك المفهرسة. وإذا أضفت نموذج LLM محليًا عبر Ollama على الخادم نفسه، فارفع ذلك إلى 8 غيغابايت من ذاكرة RAM كحدّ أدنى. أما برمجيًا: فيلزم Docker وDocker Compose، ونطاق يشير إلى خادم VPS، واختياريًا مفتاح API لنموذج LLM إن لم تُرِد نموذجًا محليًا. ويُنزَّل نموذج التضمينات عند أول تشغيل.
نشر Khoj باستخدام Docker Compose
الحصول على ملف compose الرسمي
على خادم VPS، نزّل ملف docker-compose.yml الذي يوفّره Khoj. يعرّف الخدمات server وdatabase (Postgres + pgvector) وحجم التهيئة. أنشئ مجلد /opt/khoj لاستضافة المجموعة.
تهيئة متغيّرات البيئة
املأ KHOJ_DJANGO_SECRET_KEY وبيانات اعتماد Postgres، وإن كنت تستخدم واجهة API، مفتاح المزوّد. عيّن KHOJ_ADMIN_EMAIL وKHOJ_ADMIN_PASSWORD لإنشاء حساب المدير عند التشغيل.
تشغيل الخدمات
شغّل docker compose up -d. عند أول تشغيل، يُنزّل Khoj نموذج التضمينات، وقد يستغرق ذلك بضع دقائق. تابِع docker compose logs -f server حتى ترى الخادم يستمع على المنفذ 42110.
فهرسة مصادرك
سجّل الدخول إلى واجهة الإدارة، وهيّئ مسارات المحتوى أو ثبّت إضافة Obsidian/المتصفح موجّهًا عنوان URL لخادمها إلى خادم VPS الخاص بك. أطلق أول مزامنة وتحقّق من امتلاء الفهرس.
الوكيل العكسي وSSL
ضع Caddy أمام المنفذ 42110: khoj.yourdomain.com { reverse_proxy localhost:42110 }. تُولَّد شهادة Let's Encrypt تلقائيًا وتمرّ كل حركة المرور عبر HTTPS.
التأمين وربط العملاء
أغلق المنفذ 42110 على جدار الحماية، ثم هيّئ إضافات Obsidian وEmacs والمتصفح بعنوان URL https://khoj.yourdomain.com ورمز API مُولَّد في الإعدادات لوصول مُصادَق عليه.
يستطيع Khoj التبديل بين عدة مزوّدي محادثة من واجهة الإدارة الخاصة به. هيّئ Ollama محليًا كواجهة خلفية افتراضية للخصوصية، وصرّح بواجهة API خارجية كخيار احتياطي للاستعلامات المعقدة فقط: تحصل بذلك على أفضل ما في العالمين، خصوصية يومية وجودة عند الحاجة، دون الدفع مقابل كل تفاعل.