التوثيق

الاستضافة الذاتية (المؤسسات)

شغّل منصة Context OS كاملة داخل بنيتك التحتية بأمر واحد، بموجب ترخيص موقَّع.

تشغّل فئة الاستضافة الذاتية المنصة كاملة على خوادمك. لا يغادر محتوى الخزائن ولا بوابة MCP ولا المهام الخلفية شبكتك، ومع خدمة Ollama الاختيارية لا تذهب أي بيانات إلى مزوّد ذكاء اصطناعي خارجي أيضًا.

الاستضافة الذاتية جزء من باقة المؤسسات والاستضافة الذاتية (من 2,000 $ سنويًا). تواصل مع المبيعات للحصول على مفتاح ترخيص.

ما الذي يعمل

الخدمةالغرض
appلوحة التحكم وواجهة API وبوابة MCP ‏(/api/mcp) وواجهة إضافة المتصفح (/api/extension/*)
migrateتشغيل لمرة واحدة: يطبّق ترحيلات قاعدة البيانات (prisma migrate deploy) قبل بدء app
postgres‏PostgreSQL 16 (قاعدة بيانات التطبيق وقاعدة inngest منفصلة)
seaweedfsتخزين متوافق مع S3 للصور الرمزية ونسخ التخزين
seaweedfs-initتشغيل لمرة واحدة: ينشئ الحاويتين avatars وcontext-vaults
inngestالمهام الخلفية: البناء والمزامنة التفاضلية وتجديد الحصص وتنظيف الملفات المؤقتة
ollamaاختياري (--profile ollama): نماذج تعمل دون اتصال بالكامل

التثبيت

cp .env.enterprise.example .env.enterprise   # replace every CHANGE_ME value
docker compose -f docker-compose.enterprise.yml --env-file .env.enterprise up -d

ولّد الأسرار بالأمر openssl rand -base64 32 (المصادقة والتشفير) وopenssl rand -hex 32 (مفتاح توقيع Inngest). احتفظ بنسخة احتياطية من CONTEXT_OS_ENCRYPTION_KEY: فهو يحمي مفاتيح الذكاء الاصطناعي وبيانات اعتماد التخزين ومحتوى الخزائن المشفّر.

الترخيص

يعلّم ملف Docker Compose الخادمَ بأنه ذاتي الاستضافة (CONTEXT_OS_SELF_HOSTED=true). ضع المفتاح الذي استلمته في CONTEXT_OS_LICENSE_KEY. وهو ترخيص موقَّع بخوارزمية Ed25519 يحدد أعلى خطة يمكن للخادم تشغيلها (عادةً ENTERPRISE_NODE) وعدد المقاعد المرخّصة وتاريخ الانتهاء. ويختار CONTEXT_OS_DEFAULT_PLAN الخطة التي يعمل بها الخادم، في حدود الخطة المرخّصة. بعدها تعرض صفحة الفوترة المؤسسات · مرخّصة ولا حاجة إلى أي دفع.

من دون مفتاح صالح يعمل الخادم كتثبيت مجاني عادي.

نماذج دون اتصال عبر Ollama

docker compose -f docker-compose.enterprise.yml --env-file .env.enterprise --profile ollama up -d
docker compose -f docker-compose.enterprise.yml exec ollama ollama pull llama3.1

ثم اضبط CONTEXT_AI_PROVIDER="ollama" وCONTEXT_AI_BASE_URL="http://ollama:11434/v1" وCONTEXT_AI_MODEL="llama3.1" في .env.enterprise وشغّل up -d مجددًا. لا تُحتسب النماذج المحلية من حصة الرموز. ويُعامَل خادم متوافق مع OpenAI، مثل vLLM، معاملةَ النموذج المحلي أيضًا عندما تضبطه للخادم كله: اضبط CONTEXT_AI_PROVIDER="openai-compatible"، وعنوانه في CONTEXT_AI_BASE_URL، ونموذجه في CONTEXT_AI_MODEL.

الفرق والوصول

تستخدم الخزائن ذاتية الاستضافة صلاحيات المجلدات نفسها في خطة الفريق: تحدد الأدوار المسموح بها لكل مجلد (المالك والمسؤول والعضو) ما يستطيع كل زميل، وكل وكيل متصل عبر MCP، قراءته. وتمنح روابط المشاركة المؤقتة المحصورة بمجلد واحد المستقلين وصولًا مؤقتًا.

يصبح أول حساب يُنشأ على الخادم مسؤولَ المنصة. وبعده لا يمكن التسجيل إلا بدعوة معلّقة، أو بعنوان بريد ضمن أحد النطاقات المذكورة في CONTEXT_OS_SIGNUP_DOMAINS (مفصولة بفواصل، مثل acme.com). ويستطيع المسؤولون دائمًا إنشاء الحسابات من الإدارة ← المستخدمون.

إعدادات الشبكة والأمان الافتراضية

  • يستمع التطبيق ونقطة S3 على 127.0.0.1 فقط. ضع وكيلًا عكسيًا يدعم TLS أمام التطبيق (وأمام S3_PUBLIC_ENDPOINT). ولنشرهما مباشرة بدلًا من ذلك، اضبط APP_BIND_ADDRESS وS3_BIND_ADDRESS على 0.0.0.0.
  • يجب أن يضيف الوكيل عنوان العميل إلى X-Forwarded-For. تستخدم حدود المعدّل لكل عنوان IP القيمةَ الأخيرة في هذا الترويسة؛ وإذا مرّ الطلب بأكثر من وكيل، اضبط CONTEXT_OS_TRUSTED_PROXY_HOPS.
  • لا يمكن لنقاط التخزين والذكاء الاصطناعي التي يضبطها المستخدمون في الخزائن الوصولُ إلا إلى المضيفات الخاصة المذكورة في CONTEXT_OS_PRIVATE_HOST_ALLOWLIST (مضيفات أو عناوين IP أو نطاقات CIDR مفصولة بفواصل). يسمح ملف compose بخدمة ollama المرفقة فقط؛ أضف seaweedfs فقط إذا كان المستخدمون ينسخون خزائنهم إلى الحاوية المرفقة، واذكر بنفسك خدمات الشبكة المحلية مثل خادم vLLM أو Gitea. وتُرفض دائمًا عناوين بيانات السحابة الوصفية والعناوين المحلية للرابط. ولا يقبل تخزين git العام المستودعات المحلية المجردة إلا داخل CONTEXT_OS_GIT_LOCAL_ROOT.
  • يرفض التطبيق البدء ما دامت قيمة CHANGE_ME باقية في .env.enterprise، أو إذا كان سر المصادقة أو مفتاح التشفير أقصر من 32 حرفًا أو كثير التكرار، أو إذا كان مفتاح توقيع Inngest أقصر من 64 حرفًا ست عشريًا.
  • يُرجع GET /api/health الرمز 503 ما دامت قاعدة البيانات غير متاحة، ليتمكن نظام التشغيل لديك من إعادة التشغيل أو إيقاف حركة المرور.

ملاحظات

  • يُضمَّن PUBLIC_URL في التطبيق عند البناء. أعد البناء بالأمر up -d --build بعد تغييره.
  • يرسل التسجيل رسالة تحقق بالبريد. اضبط RESEND_API_KEY، أو وجّه MAIL_HOST (مع MAIL_PORT وMAIL_USER وMAIL_PASS اختياريًا) إلى خادم SMTP. ومن دون أي منهما تُطبع الرسائل، بما فيها روابط التحقق، في سجلات app.
  • يمكن ترك فوترة Stripe دون ضبط؛ وعندها لا يتوفر الدفع.
  • يجب أن يكون S3_PUBLIC_ENDPOINT متاحًا من متصفحات المستخدمين، لأن رفع الصور الرمزية يستخدم روابط موقّعة مسبقًا.
  • مرجع الواجهة البرمجية التفاعلي (/api/docs) معطّل في الإنتاج. اضبط CONTEXT_OS_API_DOCS=1 لإتاحته لفريق التكامل لديك.

ما زلت عالقًا؟ تواصل مع الدعم وسنساعدك.