دليل النشر

كيفية استضافة LibreChat على خادم VPS

انشر على VPS Cloud ←

دليل عملي

كيفية استضافة LibreChat على خادم VPS

الذكاء الاصطناعي11 دقيقةً للقراءةعدد الخطوات: 18

يعيد ‎LibreChat‎ إنتاج تجربة ‎ChatGPT‎ بشكل مفتوح المصدر ويذهب أبعد من ذلك بكثير: واجهة موحّدة لـ ‎OpenAI‎ و‎Anthropic Claude‎ و‎Google Gemini‎ والنماذج المحلية عبر ‎Ollama‎ وغيرها من المزوّدين، كل ذلك خلف واجهة مستخدم أنيقة. باستضافته على خادم ‎VPS‎ الخاص بك، يقدّم لفريقك مساعدًا محادثيًا خاصًا ومتعدّد المستخدمين مع سجل وإعدادات مسبقة و‎RAG‎ على مستنداتك — دون أن تعبر محادثاتك خوادم المزوّدين. توقّف عن دفع 20 دولارًا شهريًا بالنيابة عن كل موظف لـ ‎ChatGPT Plus‎: مفتاح ‎API‎ واحد مشترك، وجميع النماذج متاحة، وبياناتك تبقى في ‎MongoDB‎ الخاص بك. يغطي هذا الدليل التثبيت الكامل باستخدام ‎Docker Compose‎، وتهيئة متعدّدة المزوّدين في ‎librechat.yaml‎، وإضافة ‎Ollama‎ للنماذج بدون تكلفة ‎API‎، وإدارة المستخدمين والمصادقة، وإعداد الوكيل العكسي ‎nginx‎ مع ‎HTTPS‎.

المحتويات· لماذا تستضيف ‎LibreChat‎ بدلاً من استخدام ‎ChatGPT Plus‎1/15
  1. 01لماذا تستضيف ‎LibreChat‎ بدلاً من استخدام ‎ChatGPT Plus‎
  2. 02‎ChatGPT Plus‎ مقابل ‎LibreChat‎ المستضاف ذاتيًا
  3. 03متطلبات الخادم
  4. 04تثبيت ‎LibreChat‎ باستخدام ‎Docker Compose‎
  5. 05تهيئة عدة مزوّدي ‎LLM‎ في ‎librechat.yaml‎
  6. 06إضافة ‎OpenAI‎ و‎Anthropic‎ ونقطة نهاية مخصّصة في ‎librechat.yaml‎
  7. 07إضافة ‎Ollama‎ للنماذج المحلية (بدون تكلفة ‎API‎)
  8. 08نشر ‎Ollama‎ كخدمة ‎Docker‎ وتوصيله بـ ‎LibreChat‎
  9. 09المصادقة وإدارة المستخدمين
  10. 10خيارات المصادقة المتاحة
  11. 11‎RAG‎ مع الملفات: استعلام مستندات ‎PDF‎
  12. 12تهيئة ‎nginx‎ كوكيل عكسي مع ‎HTTPS‎
  13. 13إدارة تكاليف ‎LLM‎ مع ‎LibreChat‎
  14. 14‎LibreChat‎ أم ‎AnythingLLM‎: أيهما تختار؟
  15. 15نشر خالٍ من السحابة: محلي 100%

لماذا تستضيف ‎LibreChat‎ بدلاً من استخدام ‎ChatGPT Plus‎

‎ChatGPT Plus‎ يكلّف 20 دولارًا شهريًا لكل شخص، ولا يسمح بمشاركة مفتاح ‎API‎، ويُرسل كل رسالة إلى خوادم ‎OpenAI‎، ويحبسك في واجهة واحدة. ‎LibreChat‎ المستضاف ذاتيًا يعكس هذه المعادلة: تدفع فقط مقابل الرموز التي تستهلكها من المزوّدين الذين تختارهم، وتبقى محادثاتك في ‎MongoDB‎ الخاص بك، ويمكنك خدمة عشرة أو مئة متعاون من خادم ‎VPS‎ واحد بأقل من 15 دولارًا شهريًا. تكون مفاتيح ‎API‎ مركزية من جانب الخادم — لا يراها مستخدموك أبدًا.

‎ChatGPT Plus‎ مقابل ‎LibreChat‎ المستضاف ذاتيًا

مرّر الجدول أفقيًا

المعيار‎ChatGPT Plus‎‎LibreChat‎ المستضاف ذاتيًا
السعر لكل مستخدم20 دولارًا/شهرمشترك — تكلفة ‎VPS‎ مقسّمة على عدد المستخدمين
النماذج المتاحة‎GPT-4o‎، ‎o1‎ (‎OpenAI‎ فقط)‎OpenAI‎، ‎Anthropic‎، ‎Google‎، ‎Ollama‎، ‎Groq‎…
بيانات المحادثاتمخزّنة لدى ‎OpenAI‎مخزّنة في ‎MongoDB‎ الخاص بك
مفاتيح ‎API‎تديرها ‎OpenAI‎مفاتيحك أنت، لا تُكشف للمستخدمين أبدًا
سجل المحادثاتلدى ‎OpenAI‎، قابل للتصديرفي قاعدة بياناتك، قابل للنسخ الاحتياطي بحرية
‎RAG‎ على ملفاتكمحدود (‎My Files‎)قابل للتهيئة مع متجر المتجهات الخاص بك
تخصيص الواجهةلا يوجدكامل (إعدادات مسبقة، نماذج مرئية، أدوار)
الامتثال / التدقيقيعتمد على شروط ‎OpenAI‎تحت سيطرتك الكاملة

متطلبات الخادم

يعتمد ‎LibreChat‎ على عدة خدمات متزامنة: التطبيق الرئيسي (‎Node.js‎)، و‎MongoDB‎ للمحادثات والمستخدمين، و‎Meilisearch‎ للبحث في السجل، وواجهة ‎RAG‎ الاختيارية للاستعلام عن المستندات. لفريق من 5 إلى 20 شخصًا يستخدمون واجهات برمجة التطبيقات السحابية (‎OpenAI‎، ‎Anthropic‎)، يكفي خادم ‎VPS‎ بـ 2 ‎vCPU‎ و4 ‎GB RAM‎ — حوالي 10 إلى 15 دولارًا شهريًا في ‎ServOrbit‎.

تثبيت ‎LibreChat‎ باستخدام ‎Docker Compose‎

  1. استنساخ المستودع الرسمي

    اتصل بخادم ‎VPS‎ عبر ‎SSH‎ واستنسخ المستودع: ‎git clone https://github.com/danny-avila/LibreChat && cd LibreChat‎. انسخ ملف مثال البيئة: ‎cp .env.example .env‎.

  2. تهيئة ملف ‎.env‎

    افتح ‎.env‎ وأدخِل المتغيرات الأساسية. أنشئ أولاً سرّين عشوائيين: ‎openssl rand -hex 32‎ مرتين لـ ‎JWT_SECRET‎ و‎CREDS_KEY‎. أضف مفاتيح ‎API‎ الخاصة بك: ‎OPENAI_API_KEY=sk-...‎ و/أو ‎ANTHROPIC_API_KEY=sk-ant-...‎. لإغلاق التسجيل العام وإنشاء الحسابات يدويًا فقط، عيّن ‎ALLOW_REGISTRATION=false‎.

  3. تشغيل الحزمة

    ابدأ جميع الخدمات في الوضع المنفصل: ‎docker compose up -d‎. تحقّق من أن جميع الحاويات سليمة: ‎docker compose ps‎ — يجب أن تُظهر جميع الخدمات ‎running (healthy)‎.

  4. إنشاء أول حساب مدير

    افتح ‎http://localhost:3080‎ في متصفح أو عبر نفق ‎SSH‎. انقر على «إنشاء حساب» وسجّل باستخدام بريدك الإلكتروني المهني. بعد تسجيل الدخول، انتقل إلى لوحة الإدارة لترقية حسابك إلى مدير.

  5. التحقّق من الاتصال بـ ‎LLM‎

    في الواجهة، اختر نموذج ‎gpt-4o‎ (أو ‎claude-3-5-sonnet‎) وأرسل رسالة اختبار. إذا وصلت الإجابة بشكل صحيح، فمفتاح ‎API‎ الخاص بك معترف به.

تهيئة عدة مزوّدي ‎LLM‎ في ‎librechat.yaml‎

ملف ‎librechat.yaml‎ هو قلب تهيئة متعدّدة المزوّدين. يتيح لك تفعيل أو تعطيل نقاط النهاية، وتسمية النماذج المعروضة للمستخدمين، وتعيين معاملات افتراضية (الحرارة، الحد الأقصى للرموز)، والتحكم في الوصول حسب الدور. في جذر المشروع، انسخ النموذج: ‎cp librechat.example.yaml librechat.yaml‎.

إضافة ‎OpenAI‎ و‎Anthropic‎ ونقطة نهاية مخصّصة في ‎librechat.yaml‎

  1. تفعيل نقطة نهاية ‎OpenAI‎

    تحت مفتاح ‎endpoints.openAI‎، عيّن ‎enabled: true‎ وأدرج النماذج: ‎models: { default: [gpt-4o, gpt-4o-mini, o1-mini], fetch: false }‎.

  2. تفعيل نقطة نهاية ‎Anthropic‎

    تحت ‎endpoints.anthropic‎، عيّن ‎enabled: true‎ وأدرج: ‎models: { default: [claude-3-5-sonnet-20241022, claude-3-haiku-20240307] }‎.

  3. إضافة ‎Google Gemini‎

    تحت ‎endpoints.google‎، عيّن ‎enabled: true‎ وأدخِل ‎GOOGLE_KEY‎ في ‎.env‎ بمفتاح ‎Google AI Studio‎ الخاص بك. أدرج النماذج: ‎gemini-1.5-pro, gemini-1.5-flash‎.

  4. الإعلان عن ‎Groq‎ كنقطة نهاية مخصّصة

    المزوّدون المتوافقون مع ‎OpenAI‎ (‎Groq‎، ‎Together AI‎…) يُعلَن عنهم تحت ‎endpoints.custom‎. مثال لـ ‎Groq‎: ‎name: Groq‎، ‎apiKey: ${GROQ_API_KEY}‎، ‎baseURL: https://api.groq.com/openai/v1‎.

  5. تطبيق التهيئة

    بعد كل تعديل على ‎librechat.yaml‎، أعد تشغيل خدمة التطبيق فقط: ‎docker compose restart app‎. تحقّق في الواجهة من ظهور نقاط النهاية الجديدة في محدد النموذج.

إضافة ‎Ollama‎ للنماذج المحلية (بدون تكلفة ‎API‎)

يتيح ‎Ollama‎ تشغيل النماذج مفتوحة المصدر (‎Llama 3‎، ‎Mistral‎، ‎Gemma‎…) مباشرةً على خادم ‎VPS‎ الخاص بك، دون مفتاح ‎API‎ ودون مغادرة البيانات للخادم. على خادم ‎VPS‎ بـ 4 ‎vCPU‎ و8 ‎GB RAM‎، تستجيب النماذج من 3B إلى 7B من المعاملات في غضون ثوانٍ.

نشر ‎Ollama‎ كخدمة ‎Docker‎ وتوصيله بـ ‎LibreChat‎

  1. إضافة خدمة ‎Ollama‎ إلى ‎docker-compose.yml‎

    افتح ‎docker-compose.override.yml‎ (أنشئه إذا لم يكن موجودًا) وأضف: ‎services: ollama: image: ollama/ollama:latest, volumes: [ollama:/root/.ollama], ports: ["11434:11434"]‎. أعد تشغيل الحزمة: ‎docker compose up -d ollama‎.

  2. تنزيل نموذج

    بعد تشغيل حاوية ‎Ollama‎، نزّل نموذجًا: ‎docker compose exec ollama ollama pull llama3.2:3b‎ لـ ‎Llama 3.2 3B‎ (~2 ‎GB‎)، أو ‎ollama pull mistral:7b‎ لـ ‎Mistral 7B‎ (~4 ‎GB‎).

  3. تهيئة نقطة نهاية ‎Ollama‎ في ‎librechat.yaml‎

    في ‎librechat.yaml‎، تحت ‎endpoints.custom‎، أضف: ‎name: Ollama‎، ‎apiKey: ollama‎، ‎baseURL: http://ollama:11434/v1‎، ‎models: { default: [llama3.2:3b, mistral:7b] }‎.

  4. اختبار الاستدلال المحلي

    في واجهة ‎LibreChat‎، اختر نقطة نهاية «‎Ollama‎» ونموذج ‎llama3.2:3b‎. أرسل رسالة. يتم توليد الإجابة بالكامل على خادم ‎VPS‎ الخاص بك، دون أي اتصال شبكي خارجي.

المصادقة وإدارة المستخدمين

يقدّم ‎LibreChat‎ عدة مستويات من المصادقة، من التسجيل المحلي البسيط حتى تكامل ‎OAuth2‎ مع مزوّد الهوية الخاص بك. للفرق، التركيبة المثلى هي في الغالب: تسجيل مغلق (‎ALLOW_REGISTRATION=false‎)، وحسابات ينشئها المدير، ومع إمكانية استخدام ‎SSO‎ عبر ‎GitHub‎ أو ‎Google‎ أو مزوّد ‎OIDC‎ داخلي.

خيارات المصادقة المتاحة

  • محلية (بريد إلكتروني / كلمة مرور): افتراضية، تعمل دون تهيئة إضافية.
  • ‎OAuth2 GitHub‎: ‎GITHUB_CLIENT_ID‎ + ‎GITHUB_CLIENT_SECRET‎ في ‎.env‎.
  • ‎OAuth2 Google‎: ‎GOOGLE_CLIENT_ID‎ + ‎GOOGLE_CLIENT_SECRET‎، نفس المبدأ.
  • ‎OIDC‎ عام: متوافق مع ‎Authentik‎ و‎Keycloak‎ و‎Auth0‎ — حدّد ‎OPENID_CLIENT_ID‎ وغيره في ‎.env‎.
  • تقييد نطاق البريد الإلكتروني: ‎ALLOWED_DOMAINS=your-company.com‎ في ‎.env‎.
  • تعطيل التسجيل العام: ‎ALLOW_REGISTRATION=false‎ — المدير وحده يمكنه إنشاء حسابات.
  • الأدوار: كل حساب هو ‎user‎ أو ‎admin‎؛ يصل المديرون إلى لوحة إدارة المستخدمين.

‎RAG‎ مع الملفات: استعلام مستندات ‎PDF‎

يتضمّن ‎LibreChat‎ خدمة ‎RAG‎ اختيارية تسمح للمستخدمين برفع ملفات ‎PDF‎ وملفات نصية واستعلام محتواها في المحادثات. لتفعيلها، أضف إلى ‎.env‎: ‎RAG_API_URL=http://rag_api:8000‎، ثم شغّل: ‎docker compose --profile rag up -d‎.

تهيئة ‎nginx‎ كوكيل عكسي مع ‎HTTPS‎

  1. إنشاء الاستضافة الافتراضية لـ ‎nginx‎

    أنشئ ‎/etc/nginx/sites-available/librechat‎ مع: ‎server { listen 80; server_name chat.your-domain.com; location / { proxy_pass http://localhost:3080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 300s; } }‎. فعّل الموقع: ‎ln -s /etc/nginx/sites-available/librechat /etc/nginx/sites-enabled/ && nginx -t && systemctl reload nginx‎.

  2. الحصول على شهادة ‎Let's Encrypt‎ مع ‎Certbot‎

    ثبّت ‎Certbot‎ إذا لزم الأمر، ثم احصل على الشهادة: ‎certbot --nginx -d chat.your-domain.com‎. يعدّل ‎Certbot‎ الاستضافة الافتراضية تلقائيًا لإعادة التوجيه من ‎HTTP‎ إلى ‎HTTPS‎.

  3. التحقّق من ‎WebSocket‎ والبث

    افتح ‎https://chat.your-domain.com‎، سجّل الدخول، وأرسل رسالة. تحقّق في أدوات المطوّر (تبويب الشبكة) أن الاتصال يمرّ عبر ‎WebSocket‎. إذا ظهرت الإجابات دفعة واحدة بدلاً من البث، فغالبًا ‎Cloudflare‎ يخزّنها مؤقتًا: فعّل «تعطيل التخزين المؤقت» في تهيئة ‎Cloudflare‎.

  4. تفعيل التحديثات التلقائية (اختياري)

    لإبقاء ‎LibreChat‎ محدَّثًا دون تدخّل يدوي، أنشئ مهمة ‎cron‎ أسبوعية: ‎docker compose pull && docker compose up -d --remove-orphans‎.

إدارة تكاليف ‎LLM‎ مع ‎LibreChat‎

لا يفوترك ‎LibreChat‎ مقابل الرموز — أنت تدفع للمزوّدين مباشرةً بمفاتيحك الخاصة. بعض الممارسات الجيدة: عيّن حدودًا للرموز لكل طلب (maxContextTokens) للنماذج المكلّفة؛ عرض ‎gpt-4o-mini‎ أو ‎claude-3-haiku‎ كنماذج افتراضية؛ تفعيل ‎Ollama‎ للطلبات ذات القيمة المنخفضة — التكلفة الفعلية: 0 دولار. لفريق من 10 أشخاص، يكلّف ميزانية مختلطة (‎GPT-4o‎ للحالات الجدية + ‎Ollama‎ للاستخدام اليومي) بين 20 و80 دولارًا شهريًا في الرموز، مقارنةً بـ 200 دولار لعشرة اشتراكات ‎ChatGPT Plus‎.

‎LibreChat‎ أم ‎AnythingLLM‎: أيهما تختار؟

مرّر الجدول أفقيًا

المعيار‎LibreChat‎‎AnythingLLM‎
الغرض الرئيسيواجهة محادثة متعدّدة المزوّدينمحرك ‎RAG‎ على المستندات
تعدّد النماذج في واجهة واحدةممتاز (‎OpenAI‎ و‎Anthropic‎ و‎Google‎ ومحلي)جيد، لكنه متمحور حول مزوّد واحد لكل مساحة عمل
‎RAG‎ على المستنداتوحدة إضافية قابلة للتهيئةجوهر المنتج، جاهز للاستخدام
إدارة تعدّد المستخدمينحسابات وأدوار أصليةوضع تعدّد المستخدمين ومساحات عمل مقسّمة
بنية النشرحزمة متعدّدة الحاويات (‎Mongo‎ و‎Meili‎ و‎RAG‎)حاوية واحدة + قاعدة بيانات متجهية
تخزين البيانات‎MongoDB‎ مستضاف ذاتيًا‎volume storage‎ + ‎LanceDB/Qdrant‎
حالة الاستخدام المثلىمساعد محادثة للفريققاعدة معرفة قابلة للاستعلام
بصمة المواردأثقل (عدة خدمات)أخف عند البدء

نشر خالٍ من السحابة: محلي 100%

لنشر كامل بعيدًا عن السحابة، ادمج ‎LibreChat‎ مع ‎Ollama‎ على نفس خادم ‎VPS‎ وعطّل جميع نقاط النهاية السحابية في ‎librechat.yaml‎. لن تغادر أي بيانات الخادم أبدًا. أضف ‎ALLOW_REGISTRATION=false‎ وـ ‎SSO OIDC‎ داخلي (‎Authentik‎) لإغلاق محيط الأمان. تتقلّص التكلفة الإجمالية حينئذٍ إلى خادم ‎VPS‎ وحده — بين 10 و25 دولارًا شهريًا حسب القدرة المختارة في ‎ServOrbit‎.

ثبّت LibreChat على خادم VPS من ServOrbit بنقرة واحدة

يتوفّر LibreChat في سوق ServOrbit. اطلب خادم VPS Cloud وتثبّت الواجهة متعدّدة النماذج تلقائيًا، MongoDB مضمّن.

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو تواصل مع فريقنا — معاودة اتصال أو WhatsApp أو بريد إلكتروني. الدعم بـالعربية والفرنسية والإنجليزية.

راسلنا على WhatsAppيُفتح في علامة تبويب جديدة