التوثيق
الاستضافة الذاتية (المؤسسات)
شغّل منصة 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لإتاحته لفريق التكامل لديك.
ما زلت عالقًا؟ تواصل مع الدعم وسنساعدك.