[{"data":1,"prerenderedAt":201},["ShallowReactive",2],{"seo-verification":3,"blog-استضف-litellm-ذاتيا-على-vps-بوابة-api-خاصة-لنماذج-llm-ma-ar":6,"promo-bar-likely":200},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-استضف-litellm-ذاتيا-على-vps-بوابة-api-خاصة-لنماذج-llm-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":133,"ctaBody":134,"ctaButton":135,"ctaUrl":136,"relatedPosts":137},156,"استضف-litellm-ذاتيا-على-vps-بوابة-api-خاصة-لنماذج-llm",{"fr":12,"en":13,"ar":10,"es":14},"self-host-litellm-vps","self-host-litellm-on-a-vps-your-private-llm-api-gateway","alojar-litellm-en-un-vps-pasarela-llm-privada","استضف LiteLLM ذاتيًا على VPS: بوابة API خاصة لنماذج LLM","انشر LiteLLM على VPS من ServOrbit — بوابة API مستضافة ذاتيًا ومتوافقة مع OpenAI توجّه إلى Ollama وAnthropic وAzure وأكثر من 100 مزوّد، مع تتبّع الإنفاق وحدود معدّل لكل مفتاح.",9,3,false,"2026-01-21T00:00:00+00:00","2026-11-09T20:55:12+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"الاستضافة الذاتية","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-litellm-vps-poster.svg",{"categorySlug":34,"appSlug":35},"الذكاء-الاصطناعي","litellm","يستدعي تطبيقك نقطة نهاية واحدة. يقرّر LiteLLM أي نموذج يعالج الطلب — Ollama المحلي لديك، أو Anthropic Claude، أو GPT-4، أو أي من أكثر من 100 مزوّد آخر. وهو يتحدّث بواجهة OpenAI فلا حاجة أبدًا لتغيير حزمة SDK. باستضافته ذاتيًا على خادم VPS، يضيف تحديد معدّل الطلبات، وحدودًا للميزانية لكل مفتاح API، ولوحة تحليلات مدمجة — لتمنح فرقًا متعدّدة الوصول إلى الذكاء الاصطناعي دون القلق من تفلّت التكاليف.",[38,42,52,55,83,86,101,104,112,115,124,128,130],{"type":39,"title":40,"body":41},"h2","لماذا يُعدّ LiteLLM الطبقة الناقصة في منظومات الذكاء الاصطناعي المستضافة ذاتيًا","Ollama رائع لتشغيل النماذج المحلية. ويغلّفه Open WebUI بواجهة محادثة. لكن حالما تبدأ ببناء التطبيقات — لا مجرّد المحادثة — تحتاج إلى شيء بينهما: وكيل يوحّد سطح واجهة API، ويتتبّع التكاليف لكل مشروع، ويتيح لك تبديل النماذج دون المساس بكود التطبيق. هذا بالضبط ما يفعله LiteLLM. فهو يقع بين تطبيقك وأي خلفية LLM، كاشفًا نقطة نهاية واحدة متوافقة مع OpenAI. يبقى كودك كما هو سواء وجّهت إلى Llama 3.1 على Ollama، أو Claude 3.5 Haiku، أو GPT-4o.",{"type":43,"title":44,"items":45},"ul","ما يمنحك إياه LiteLLM جاهزًا من الصندوق",[46,47,48,49,50,51],"واجهة API موحّدة متوافقة مع OpenAI — تعمل مع كل حزمة SDK ومكتبة وأداة تستهدف واجهة OpenAI.","أكثر من 100 تكامل مع مزوّدين: Ollama، Anthropic، OpenAI، Azure OpenAI، Mistral، Cohere، Bedrock وغيرها.","مفاتيح API افتراضية بحدود إنفاق وحدود معدّل لكل مفتاح — أصدر مفاتيح للفرق واضبط سقف التكاليف الشهرية.","لوحة تحكّم مدمجة على \u002Fui مع تحليلات إنفاق فورية، وتفصيل لكل نموذج، وسجلّات للطلبات.","موازنة حِمل وتجاوز تلقائي للأعطال عبر نقاط نهاية مزوّدين متعدّدة أو نسخ نماذج.","رخصة Apache 2.0 — دون قياس عن بُعد، ودون اتصال خفي، وقابلة تمامًا للعمل معزولة عن الشبكة عند اقترانها بـ Ollama.",{"type":39,"title":53,"body":54},"المتطلبات","1 غيغابايت من ذاكرة RAM على الأقل ونظام Ubuntu 22.04. مع Docker وإضافة Compose مثبّتين. المنفذ 4000 مفتوح، أو وكيل عكسي Caddy\u002FNginx لتفعيل HTTPS. هذا كل شيء — فـ LiteLLM نفسه وكيل بلغة Python ويحتاج نحو 256 ميغابايت؛ ويستهلك PostgreSQL معظم ما يتبقّى من ميزانية RAM. أما للفرق ذات الحركة المتزامنة، فـ 2 غيغابايت أكثر راحة.",{"type":56,"title":57,"steps":58},"steps","نشر LiteLLM على خادم VPS",[59,62,65,68,71,74,77,80],{"title":60,"body":61},"توفير خادم VPS","اطلب VPS Solo من ServOrbit (2 vCPU، 4 GB، Ubuntu 22.04): يكتفي LiteLLM بغيغابايت واحد، وأصغر خطة في الكتالوج تمنح ضعف ذلك. اتصل عبر SSH وثبّت Docker: `curl -fsSL https:\u002F\u002Fget.docker.com | sh`. إضافة Compose مُضمّنة.",{"title":63,"body":64},"توليد الأسرار","نفّذ `openssl rand -hex 32` لتوليد LITELLM_MASTER_KEY — فهذا يفتح لوحة التحكّم وجميع نقاط نهاية API الإدارية. أنشئ `\u002Fopt\u002Flitellm\u002F.env` يتضمّن: `LITELLM_MASTER_KEY`، `UI_USERNAME`، `UI_PASSWORD`، `DB_NAME=litellm`، `DB_USER=litellm`، `DB_PASSWORD=\u003Cstrong-password>`.",{"title":66,"body":67},"كتابة docker-compose.yml","أنشئ `\u002Fopt\u002Flitellm\u002Fdocker-compose.yml` بخدمتين: `db` (postgres:16-alpine، متغيّرات البيئة من ‎.env، الحجم litellm_db) و`litellm` (صورة ghcr.io\u002Fberriai\u002Flitellm مثبّتة على إصدار صريح وبصمتها `@sha256:`، وليس على `main-latest` أبدًا — انظر «سلسلة التوريد» أدناه —، المنفذ 4000:4000، depends_on db، DATABASE_URL + LITELLM_MASTER_KEY + UI_USERNAME + UI_PASSWORD، الحجم litellm_config:\u002Fapp\u002Fdata). نفّذ `docker compose up -d`.",{"title":69,"body":70},"فتح لوحة التحكّم","انتقل إلى `http:\u002F\u002F\u003Cvps-ip>:4000\u002Fui` وسجّل الدخول بـ UI_USERNAME \u002F UI_PASSWORD الخاصّين بك. ستصل إلى لوحة تحكّم LiteLLM. اذهب إلى Models لإضافة أول مزوّد لك. لنسخة Ollama محلية على الخادم نفسه، اضبط اسم النموذج على `ollama\u002Fllama3.1` وقاعدة API على `http:\u002F\u002Fhost.docker.internal:11434`. أما لـ Anthropic، فالصق مفتاح API الخاص بك وأضف `anthropic\u002Fclaude-3-5-haiku-20241022`.",{"title":72,"body":73},"اختبار البوابة","من محطّة عملك، اختبر: `curl http:\u002F\u002F\u003Cvps-ip>:4000\u002Fv1\u002Fchat\u002Fcompletions -H \"Authorization: Bearer \u003CLITELLM_MASTER_KEY>\" -H 'Content-Type: application\u002Fjson' -d '{\"model\": \"ollama\u002Fllama3.1\", \"messages\": [{\"role\": \"user\", \"content\": \"Hello\"}]}'`. ينبغي أن تستقبل ردًّا متدفّقًا — موجَّهًا عبر LiteLLM إلى Ollama لديك.",{"title":75,"body":76},"إصدار مفاتيح API للفرق","في لوحة التحكّم ضمن API Keys، انقر New Key. امنحه وصفًا (مثل 'frontend-team')، واضبط `max_budget: 50` (دولار أمريكي شهريًا) و`tpm_limit` اختياريًا. شارك هذا المفتاح مع الفريق — يوجّهون حزمة OpenAI SDK إلى `http:\u002F\u002F\u003Cvps-ip>:4000` ويستخدمون هذا المفتاح. ويُتتبَّع الإنفاق لكل مفتاح في لوحة التحكّم.",{"title":78,"body":79},"إضافة HTTPS بواسطة Caddy","ثبّت Caddy: `apt install -y caddy`. حرّر `\u002Fetc\u002Fcaddy\u002FCaddyfile`: `llm.yourdomain.com { reverse_proxy localhost:4000 }`. أعد التحميل: `systemctl reload caddy`. أغلق المنفذ 4000 في جدارك الناري — فكل الحركة تمرّ الآن عبر 443 مع TLS تلقائي.",{"title":81,"body":82},"أول تسجيل دخول","افتح واجهة الإدارة على المسار \u002Fui: يعرض LiteLLM نموذج اسم مستخدم وكلمة مرور. أدخل اسم المستخدم admin وكلمة المرور المُسلَّمة إليك، ثم أنشئ مفاتيحك الافتراضية من لوحة التحكم.",{"type":39,"title":84,"body":85},"سلسلة التوريد: ثبّت، وتحقّق، وبدّل المفاتيح","تحتفظ بوابة LLM بمفاتيح جميع مزوّديك، وهذا بالضبط ما يبحث عنه سارق بيانات الاعتماد. يذكر بلاغ الأمان المفتوح في مستودع LiteLLM (القضية 47826) أن عجلات الإصدار 1.107.0 المنشورة على PyPI تضمّنت ثلاثة ملفات غريبة عن المشروع هي ‎`cook.pth` و‎`cook.py` و‎`sitecustomize.py`، وُضعت في جذر `site-packages`: سارق بيانات اعتماد ومحمّل لتنفيذ الشيفرة يعملان عند كل تشغيل لبايثون. وضعت PyPI هذا الإصدار في الحجر. ويقول المشرفون إنهم سحبوا صور Docker الخبيثة، ويصف تقرير الحادثة لديهم اختطافًا لمسار النشر عبر رموز مطوّرين. وكان البلاغ الأول يقول إنه لم يفحص الصور؛ ثم وجد تحديث لاحق في الخيط نفسه الملفات الثلاثة في الصورة الرئيسية التي فحصها، وأوصى بمعاملة كل صور ذلك الإصدار على أنها مخترقة. لا يستطيع هذا الدليل أن يعرف ما سحبتَه في تاريخ معيّن: والفحوص الأربعة التالية تحسم ذلك على خادمك أنت.",{"type":56,"title":87,"steps":88},"اعرف ما يعمل فعلًا على خادمك",[89,92,95,98],{"title":90,"body":91},"اقرأ بصمة الصورة","الوسم مثل `main-latest` لا يقول شيئًا عمّا يُنفَّذ. نفّذ `docker compose images` ثم ‎`docker image inspect --format '{{index .RepoDigests 0}}' ghcr.io\u002Fberriai\u002Flitellm:main-latest` (استبدلها بمرجع ملف compose لديك). دوّن قيمة `sha256:` وقارنها ببصمة إصدار تحققتَ من مصدره.",{"title":93,"body":94},"ابحث عن الملفات المذكورة دون تشغيل بايثون","في بيئة مشبوهة يعيد كل تشغيل لبايثون تنفيذ الشيفرة الخبيثة، بما في ذلك `pip`. ابحث إذن بأداة لا تشغّله: ‎`docker compose exec litellm find \u002F -name 'cook.pth' -o -name 'cook.py' -o -name 'sitecustomize.py' -o -name 'litellm-1.107.0.dist-info' 2>\u002Fdev\u002Fnull` (إن كانت الصورة تتضمن `find`). قد يكون ‎`sitecustomize.py` منفردًا في مكان آخر من النظام سليمًا؛ أما ما يستوجب القلق فهو وجود ‎`cook.pth` بجانبه في `site-packages`، أو مجلد ‎`litellm-1.107.0.dist-info`. العثور على هذه الملفات يؤكد التعرّض؛ وعدم العثور على شيء لا يثبت أن البيئة سليمة.",{"title":96,"body":97},"اقرأ الإصدار المثبّت","حين لا يبدو شيء مشبوهًا، يعرض `pip show litellm` (داخل البيئة الافتراضية لتثبيت مباشر) أو `docker compose exec litellm pip show litellm` رقم الإصدار. إن كان 1.107.0، أو إن شككتَ في صورة سُحبت في تلك الفترة، فانتقل فورًا إلى تبديل المفاتيح أدناه.",{"title":99,"body":100},"ابحث عن آثار التنفيذ","يذكر البلاغ ملف قفل ‎`\u002Ftmp\u002Fremote_code_loader.lock`، وعملية `python` يتيمة مجلدها الحالي `\u002F`، وملف علامة ‎`\u002Ftmp\u002F.pc_once_*` لا يُكتب إلا بعد رفع ناجح. غيابه لا يثبت شيئًا: فالحاوية المعاد إنشاؤها تمسح `\u002Ftmp`. اعتبره قرينة لا حكمًا.",{"type":39,"title":102,"body":103},"ثبّت بالبصمة لا بالوسم","الوسم مؤشّر يستطيع الناشر تحريكه؛ أما بصمة `@sha256:` فتحدّد بايتات بعينها. اكتب في ‎`docker-compose.yml` السطر ‎`image: ghcr.io\u002Fberriai\u002Flitellm:\u003Cversion>@sha256:\u003Cdigest>` مع إصدار صريح نُشر قبل الحادثة أو جرى التحقق منه بعدها، وليس `latest` ولا `main-latest` ولا `main-stable` أبدًا. يوصي المشرفون بتثبيت إصدار صريح، ويقترح خيط القضية استخدام البصمة. وتذكّر الحدّ: البصمة تثبت أنك تسحب دائمًا البايتات نفسها، لا من بناها. وكان يمكن تثبيت صور 1.107.0 دون أي إنذار. فالتثبيت يجمّد قرارًا اتخذتَه أنت، ولا يحلّ محلّ اتخاذه.",{"type":43,"title":105,"items":106},"حدّث دون مفاجآت",[107,108,109,110,111],"اقرأ ملاحظات الإصدار وحالة خيط الأمان قبل تغيير الإصدار، بدل ترك `docker compose pull` يتبع وسمًا.","احصل على البصمة الجديدة من جهاز اختبار، وشغّل البوابة دون مفاتيح حقيقية، وافحص سلوكها، ثم انقل البصمة إلى الإنتاج.","حين ينشر الناشر شهادات المصدر، تحقّق منها: فهي تقول من أين جاءت الصورة، وهو ما لا تقوله البصمة وحدها.","احتفظ بالبصمة السابقة في مستودع الإعدادات: يصبح التراجع تغييرًا من سطر واحد.","بعد أي تنبيه أمني، أعد بناء الحاويات والبيئات الافتراضية من الصفر بدل التنظيف في مكانها.",{"type":39,"title":113,"body":114},"إن شُغّل 1.107.0 يومًا على خادمك: بدّل كل المفاتيح","بحسب البلاغ، إن بدأ ذلك الإصدار على مضيف يصل إلى الإنترنت فافترض أن الرفع نجح. تقرأ الشيفرة الموصوفة متغيّرات البيئة للعمليات المقروءة، وعند ضبط `DATABASE_URL` تستخرج الجداول التي تخزّن فيها البوابة بيانات اعتماد مزوّديها ونماذجهم، أي كل مفاتيح المنبع التي تحتفظ بها. فالتبديل يشمل كل سر كان المضيف قادرًا على بلوغه، لا المفتاح الرئيسي وحده. ألغِ المفتاح أولًا لدى المزوّد، ثم أنشئ البديل، ثم راجع استهلاك الشهر الأخير بحثًا عن استخدام لا تعرفه.",{"type":43,"title":116,"items":117},"ما يجب تجديده",[118,119,120,121,122,123],"كل مفاتيح المزوّدين المخزّنة في البوابة: Anthropic وOpenAI وAzure وMistral وBedrock وكل ما سواها.","`LITELLM_MASTER_KEY` وجميع المفاتيح الافتراضية الموزّعة على الفرق.","كلمة مرور قاعدة البيانات (`DB_PASSWORD` و`DATABASE_URL` الذي يتضمنها)، وكذلك `UI_PASSWORD`.","أي سر موجود في بيئة عملية على المضيف: رموز API وكلمات مرور الخدمات المجاورة وملفات ‎.env.","مفاتيح SSH ورموز Git وبيانات اعتماد السحابة التي يمكن بلوغها من الخادم، إن كان المضيف يحمل شيئًا منها.","بعد التبديل، أعد بناء الخادم أو الحاويات على الأقل من صورة موثّقة: نسخ أسرار جديدة إلى مضيف مخترق يعرّضها من جديد.",{"type":125,"title":126,"body":127},"tip","راقب حركة الخروج على الشبكة","يصف البلاغ رفعًا إلى ‎`www.litellm.dev`، وهو نطاق ليس نطاق المشروع، وقراءة كل ساعة لمستودع GitHub تابع لطرف ثالث يُستخدم صندوق بريد لتعليمات جديدة. ويرى المشرفون أنفسهم أن القيد على مستوى الشبكة هو ما يهمّ، لأن الشيفرة الخبيثة تتجاهل إعدادات التطبيق. على الخادم، امنع الحركة الصادرة افتراضيًا واسمح فقط بنقاط وصول مزوّديك؛ وإن كان جدارك الناري يرشّح بالعنوان لا بالاسم، فضع وكيلًا صادرًا بقائمة سماح. وإلا فسجّل استعلامات DNS للمضيف ونبّه عند أي اسم لا مبرر لأن تتصل به البوابة.",{"type":125,"body":129},"اقرن LiteLLM بـ Ollama على الخادم نفسه للحصول على منظومة ذكاء اصطناعي معزولة تمامًا عن الشبكة. يتولّى Ollama استدلال النموذج؛ ويضيف LiteLLM طبقة البوابة — التوجيه وتحديد المعدّل وتتبّع الاستخدام. أما لأحمال العمل الحسّاسة للخصوصية (القانونية، المالية، الطبية)، فهذا يعني ألّا تغادر أي بيانات بنيتك التحتية.",{"type":125,"title":131,"body":132},"الوثائق الرسمية","للإعداد المتقدّم والخيارات الخاصة بالأداة، ارجع إلى \u003Ca href=\"https:\u002F\u002Fdocs.litellm.ai\" target=\"_blank\" rel=\"noopener noreferrer\">الوثائق الرسمية لـ LiteLLM\u003C\u002Fa>. يغطّي هذا الدليل النشر على خادم VPS؛ وتبقى وثائق المُطوِّر المرجعَ للإعدادات الدقيقة والتحديثات الكبرى وحالات الاستخدام الخاصة.","انشر بوابتك الخاصة لنماذج LLM","استضف LiteLLM ذاتيًا على خادم VPS من ServOrbit — وجّه الطلبات بين Ollama وAnthropic وأكثر من 100 مزوّد من نقطة نهاية واحدة متوافقة مع OpenAI، مع ضوابط ميزانية لكل مفتاح.","انشر LiteLLM","\u002Fapplications\u002Fالذكاء-الاصطناعي\u002Flitellm",[138,160,178],{"id":139,"slug":140,"slugs":141,"title":145,"excerpt":146,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":147,"updatedAt":148,"category":149,"categories":155,"featuredImage":30,"bgImage":31,"posterImage":157,"relatedSolution":158},11,"كيفية-استضافة-ollama-على-خادم-vps",{"fr":142,"en":143,"ar":140,"es":144},"heberger-ollama-vps","how-to-host-ollama-on-a-vps","como-alojar-ollama-en-un-vps","استضافة Ollama على خادم VPS: دليل التشغيل المتقدم","إعداد Ollama المتقدم على VPS: إدارة النماذج، وكيل عكسي nginx، أمان الواجهة البرمجية، تكميم Q4_K_M\u002FQ8، ثغرة CVE-2026-45672 في Open WebUI والتكامل الآمن.","2026-06-09T00:00:00+00:00","2026-11-04T16:30:24+00:00",{"id":150,"name":151,"slug":152,"color":153,"icon":154},1,"الذكاء الاصطناعي","intelligence-artificielle","bg-purple-500\u002F10 text-purple-400","ia",[156],{"id":150,"name":151,"slug":152,"color":153,"icon":154},"\u002Fblog\u002Fcovers\u002Fheberger-ollama-vps-poster.svg",{"categorySlug":34,"appSlug":159},"ollama",{"id":161,"slug":162,"slugs":163,"title":167,"excerpt":168,"readTime":169,"views":150,"isPinned":19,"noindex":19,"publishedAt":170,"updatedAt":171,"category":172,"categories":173,"featuredImage":30,"bgImage":31,"posterImage":175,"relatedSolution":176},2,"نشر-dify-على-vps-سير-عمل-الذكاء-الاصطناعي-تحت-السيطرة",{"fr":164,"en":165,"ar":162,"es":166},"deployer-dify-vps","deploying-dify-on-a-vps-ai-workflows-under-control","desplegar-dify-en-un-vps","نشر Dify على VPS: دليل شامل من التثبيت إلى الإضافات","ثبّت Dify على VPS من ServOrbit: المتطلبات وDocker Compose والإضافات دون اتصال وحدود تثبيت Docker ونسخ احتياطي قبل التحديث وحل الأخطاء الشائعة.",15,"2026-02-11T00:00:00+00:00","2026-10-29T03:10:23+00:00",{"id":150,"name":151,"slug":152,"color":153,"icon":154},[174],{"id":150,"name":151,"slug":152,"color":153,"icon":154},"\u002Fblog\u002Fcovers\u002Fdeployer-dify-vps-poster.svg",{"categorySlug":152,"appSlug":177},"dify",{"id":18,"slug":179,"slugs":180,"title":184,"excerpt":185,"readTime":186,"views":187,"isPinned":19,"noindex":19,"publishedAt":188,"updatedAt":189,"category":190,"categories":194,"featuredImage":30,"bgImage":31,"posterImage":196,"relatedSolution":197},"تثبيت-n8n-على-vps-مع-docker-دليل-شامل-2026",{"fr":181,"en":182,"ar":179,"es":183},"installer-n8n-vps","install-n8n-on-vps-with-docker-complete-2026-guide","instalar-n8n-en-vps-con-docker","تثبيت n8n على VPS مع Docker: دليل شامل 2026","انشر n8n على VPS مع Docker والوكيل العكسي وHTTPS. يشمل عطل V8، خطأ 502، الانتقال من npm وأمان التنفيذ (تنبيه GHSA-vrv8-j27g-g7cr، أغسطس 2026).",19,4,"2026-06-05T00:00:00+00:00","2026-11-09T20:55:18+00:00",{"id":161,"name":191,"slug":192,"color":193,"icon":192},"الأتمتة","automatisation","bg-brand-action\u002F10 text-brand-action",[195],{"id":161,"name":191,"slug":192,"color":193,"icon":192},"\u002Fblog\u002Fcovers\u002Finstaller-n8n-vps-poster.svg",{"categorySlug":198,"appSlug":199},"الأتمتة-وسير-العمل","n8n",true,1794270245909]