استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
تمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةإذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.
رابط GitHub للتوثيقنسخ الـ Markdown من المستند إلى الحافظة
استضافة Intlayer ذاتيًا (Self-Hosting)
يمكن تشغيل Intlayer على بنيتك التحتية الخاصة دون الحاجة إلى حساب Intlayer Cloud. تتوفر ثلاثة إعدادات، يتم إدارتها جميعًا من خلال نفس برنامج التثبيت (install.sh، أو install.ps1 على نظام Windows، أو npx intlayer init infra):
افتح الجدول في نافذة منبثقة لعرض جميع محتويات البيانات بوضوح
| Setup | What it is | Pick it for |
|---|---|---|
| تطبيق سطح المكتب | لوحة تحكم أصلية لأنظمة macOS و Linux و Windows | عميل محلي، لا يتطلب استضافة |
| Docker شامل (All-in-one) | لوحة التحكم وواجهة برمجة التطبيقات (API) و MongoDB و Redis و MinIO في حاوية واحدة | للتجارب والتركيبات الصغيرة على جهاز واحد |
| Docker Compose | حاوية واحدة لكل خدمة، مع إمكانية استبدال أي مخزن بيانات بخدمة مُدارة | للإنتاج والتوسع وقواعد البيانات المُدارة |
Table of Contents
الصور والحزم المنشورة
افتح الجدول في نافذة منبثقة لعرض جميع محتويات البيانات بوضوح
| Artifact | Docker Hub | GHCR mirror | Contents |
|---|---|---|---|
| All-in-one container | intlayer/cms-all | ghcr.io/aymericzip/intlayer/cms-all | app + backend + MongoDB 8 + Redis + MinIO + Chromium |
| Dashboard (frontend) | intlayer/cms-frontend | ghcr.io/aymericzip/intlayer/cms-frontend | TanStack Start dashboard on Bun |
| API (backend) | intlayer/cms-backend | ghcr.io/aymericzip/intlayer/cms-backend | Fastify REST API on Bun + Chromium |
| Desktop app | GitHub releases | n/a | .dmg (macOS), .deb / .rpm / .AppImage (Linux), .exe / .msi (Windows) |
يتم بناء جميع الصور الثلاث من نفس الملف docker/selfhost/Dockerfile ويتم نشرها مع كل إصدار. تقوم حزمة Compose أيضًا بسحب الصور الرسمية mongo:8 و redis:8-alpine و quay.io/minio/minio.
الإعداد
يسأل برنامج التثبيت عن الإعداد المطلوب، ويتحقق من المتطلبات الأساسية (مع عرض تثبيت Docker)، ويكتب ملف البيئة مع المفاتيح السرية المنشأة مسبقًا، ويسحب الصور. لا يبدأ أي شيء تلقائيًا: تتطلب أوضاع Docker إعداد برنامج بريد أولاً، لذا ينتهي البرنامج بطباعة الأمر المطلوب تشغيله. إعادة التشغيل آمنة: لا يتم استبدال ملف البيئة الحالي أبدًا، مما يجعله أيضًا مسارًا للترقية.
لوحة تحكم Intlayer كتطبيق أصلي تم إنشاؤه باستخدام Tauri. يسجل الدخول إلى Intlayer Cloud (https://app.intlayer.org)، لذلك لا توجد حاجة للاستضافة. إنه الخيار المناسب عندما تفضل عميلاً محلياً بدلاً من علامة تبويب في المتصفح.
التثبيت
يقوم برنامج التثبيت بتنزيل الحزمة المناسبة لنظام التشغيل والمعالج لديك ثم يفتحها (macOS)، أو يثبتها (dpkg / rpm على Linux) أو يشغل معالج الإعداد (Windows). يمكنك أيضًا تنزيلها يدويًا من صفحة الإصدارات.
نسخ الكود إلى الحافظة
In PowerShell:
نسخ الكود إلى الحافظة
نسخ الكود إلى الحافظة
المتطلبات
- Node.js: يدمج التطبيق خادم لوحة التحكم ويشغله باستخدام ملف
nodeالثنائي على جهازك. قم بتثبيته من nodejs.org إذا لم يفتح التطبيق.
يتصل إصدار سطح المكتب المنشور بالواجهة الخلفية لـ Intlayer Cloud. يتطلب توجيهه إلى واجهة خلفية مستضافة ذاتيًا إعادة بناء التطبيق مع تعيين VITE_BACKEND_URL للإشارة إلى واجهة برمجة التطبيقات الخاصة بك، راجع القيود.
يعمل كل شيء داخل حاوية intlayer/cms-all واحدة، تحت إشراف s6-overlay، مع استمرار حفظ جميع مخازن البيانات على وحدة تخزين واحدة.
نسخ الكود إلى الحافظة
افتح الجدول في نافذة منبثقة لعرض جميع محتويات البيانات بوضوح
| الخدمة | منفذ (منافذ) المضيف | الغرض |
|---|---|---|
| app | 3000 | لوحة التحكم (واجهة مستخدم CMS) |
| backend | 3100 | واجهة برمجة تطبيقات REST (نقطة نهاية /health) |
| mongo | داخلي | MongoDB 8، مجموعة نسخ متماثلة بعقدة واحدة rs0 |
| redis | داخلي | قوائم انتظار المهام (BullMQ) والتخزين المؤقت |
| minio | 9000 (S3)، 9001 (وحدة التحكم) | تخزين كائنات متوافق مع S3 للصور الرمزية ولقطات الشاشة |
يتم إدارة ترتيب التمهيد من خلال تبعيات s6 (mongod ← تهيئة مجموعة النسخ، minio ← إنشاء الحاوية، ثم backend، ثم app)، وتتم إعادة تشغيل الخدمات عند الخروج، بحيث يتعافى التمهيد الأول ذاتيًا.
المتطلبات الأساسية
- Docker ≥ 24: يعرض برنامج التثبيت تثبيته (عبر get.docker.com على Linux، أو Homebrew على macOS). على نظام Windows، قم بتثبيت Docker Desktop (واجهة WSL 2 الخلفية) أولاً.
- المنافذ
3000و3100و9000و9001متاحة على المضيف. يجب أن يظل منفذ MinIO9000قابلاً للوصول من قبل المتصفح حيث يتم تحميل الأصول مباشرة منS3_PUBLIC_URL. - خادم بريد (mailer): مفتاح API لـ Resend أو مرحّل SMTP.
1. التثبيت
يكتب ./intlayer.env مع مفاتيح BETTER_AUTH_SECRET و S3_SECRET_ACCESS_KEY المنشأة مسبقًا، ويطرح بضعة أسئلة لملء الباقي، ويسحب intlayer/cms-all:latest.
نسخ الكود إلى الحافظة
In PowerShell:
نسخ الكود إلى الحافظة
نسخ الكود إلى الحافظة
2. الإجابة على أسئلة الإعداد
يطلب برنامج التثبيت ما يلي (اضغط Enter لقبول الاقتراح، ويمكن تغيير أي إجابة في الملف لاحقًا):
- النطاق الذي يُقدَّم عليه Intlayer. اتركه فارغًا للبقاء على
localhost. مع نطاق مثلexample.org، يقترحhttps://cms.example.orgللوحة التحكم وhttps://back.example.orgللواجهة الخلفية وhttps://s3.example.org/intlayerلتخزين الكائنات، ويكتبDOMAINوAPP_URLوBACKEND_URLوS3_PUBLIC_URL. انظر النطاق المخصص للخطوات التالية. - خادم البريد: Resend (مفتاح API) أو مرحّل SMTP (المضيف، المنفذ، بيانات الاعتماد)، بالإضافة إلى عنوان المرسل. يمكن تخطي هذه الخطوة وإجراؤها يدويًا لاحقًا.
- مفتاح OpenAI API اختياري لميزات الذكاء الاصطناعي.
بدون طرفية (على سبيل المثال عند تشغيل السكربت من CI)، يتم تخطي الأسئلة ولا يتم إنشاء سوى المفاتيح السرية. افتح intlayer.env واملأ إعدادات Resend أو SMTP يدويًا (انظر التفاصيل في خادم البريد العام):
نسخ الكود إلى الحافظة
3. التشغيل
هذا هو أمر التشغيل الذي يطبعه برنامج التثبيت (مع نطاق مخصص، يسبقه أمر docker build الذي ينتج intlayer/cms-all:custom، انظر النطاق المخصص):
نسخ الكود إلى الحافظة
نسخ الكود إلى الحافظة
تقوم أداة CLI بتشغيل برنامج التثبيت الذي يطبع الأمر docker run … الموضح في علامات التبويب الأخرى. الصقه في جهازك الطرفي بعد تكوين خادم البريد.
افتح http://localhost:3000 (أو عنوان URL الخاص بلوحة التحكم) واتبع إعداد التشغيل الأول. يقوم التمهيد الأول بتهيئة مجموعة النسخ والحاوية، لذا امنحه دقيقة واحدة.
النسخ الاحتياطي والترقية
يتم الاحتفاظ بجميع الحالات داخل وحدة التخزين intlayer-data (/data/mongo، /data/redis، /data/minio).
نسخ الكود إلى الحافظة
للترقية، أعد تشغيل برنامج التثبيت (يقوم بسحب أحدث صورة والاحتفاظ بملف intlayer.env)، ثم قم بتشغيل docker rm -f intlayer وأعد تشغيل أمر البدء. لاستخدام قاعدة بيانات MongoDB مُدارة بدلاً من المضمنة، عيّن MONGODB_URI في intlayer.env.
حاوية واحدة لكل خدمة على شبكة Compose خاصة. تستخدم لوحة التحكم وواجهة برمجة التطبيقات الصور المنشورة intlayer/cms-frontend و intlayer/cms-backend؛ وتستخدم مخازن البيانات صور mongo و redis و minio الرسمية.
نسخ الكود إلى الحافظة
افتح الجدول في نافذة منبثقة لعرض جميع محتويات البيانات بوضوح
| الخدمة | الصورة | الدور |
|---|---|---|
app | intlayer/cms-frontend | لوحة التحكم على المنفذ :3000؛ تنتظر حتى تكون الواجهة الخلفية جاهزة |
backend | intlayer/cms-backend | واجهة برمجة التطبيقات على المنفذ :3100 مع Chromium؛ تنتظر Mongo و Redis وحاوية MinIO |
mongo | mongo:8 | مجموعة نسخ بعقدة واحدة rs0، تتم تهيئتها بواسطة فحص الحالة الخاص بها |
redis | redis:8-alpine | قوائم الانتظار والتخزين المؤقت، واستمرارية الإلحاق فقط (append-only) |
minio | quay.io/minio/minio | تخزين S3 على المنفذ :9000، وحدة التحكم على :9001 |
minio-init | quay.io/minio/mc | تشغيل لمرة واحدة: ينشئ الحاوية وسياسة التنزيل المجهول الخاصة بها |
يتم حفظ البيانات في وحدات التخزين intlayer_mongo-data و intlayer_redis-data و intlayer_minio-data. تم تثبيت اتصالات الخدمة (MONGODB_URI و REDIS_URL و S3_ENDPOINT وعنوان URL الداخلي للواجهة الخلفية للعرض من جانب الخادم) في ملف compose ولها الأسبقية على .env، الذي يحتفظ فقط بالمفاتيح السرية والتكاملات الاختيارية.
المتطلبات الأساسية
- Docker ≥ 24 مع ملحق Compose: يعرض برنامج التثبيت تثبيته على Linux و macOS. على نظام Windows، قم بتثبيت Docker Desktop (واجهة WSL 2 الخلفية) أولاً.
- المنافذ
3000و3100و9000و9001متاحة على المضيف. - خادم بريد: مفتاح API لـ Resend أو مرحّل SMTP.
1. التثبيت
يكتب docker-compose.yml وملف .env مع المفاتيح السرية المنشأة في ./intlayer/، ويطرح أسئلة الإعداد نفسها التي يطرحها الوضع الشامل (النطاق، خادم البريد، مفتاح OpenAI)، ويسحب الصور.
نسخ الكود إلى الحافظة
Or by hand:
نسخ الكود إلى الحافظة
In PowerShell:
نسخ الكود إلى الحافظة
Or by hand:
نسخ الكود إلى الحافظة
نسخ الكود إلى الحافظة
2. تكوين خادم البريد
إذا تخطيت سؤال خادم البريد، فاملأ بيانات Resend أو SMTP في intlayer/.env، تمامًا كما في الحاوية الشاملة (انظر خادم البريد العام).
3. التشغيل
نسخ الكود إلى الحافظة
مع نطاق مخصص، يقوم برنامج التثبيت أيضًا بتنزيل docker-compose.build.yml ويصبح أمر التشغيل docker compose -f docker-compose.yml -f docker-compose.build.yml up -d --build (انظر النطاق المخصص).
افتح http://localhost:3000 (أو عنوان URL الخاص بلوحة التحكم) واتبع إعداد التشغيل الأول.
مخازن البيانات المُدارة
احذف الخدمة التي تستبدلها من ملف compose (بالإضافة إلى إدخال depends_on الخاص بها في backend)، وتجاوز المتغير المقابل:
نسخ الكود إلى الحافظة
تعمل المتغيرات S3_ACCESS_KEY_ID / S3_SECRET_ACCESS_KEY / S3_BUCKET_NAME بشكل مباشر مع أي مزود متوافق مع S3.
التوسع
الخدمتان app و backend عديمتا الحالة (stateless). خلف موازن التحميل، وبافتراض إزالة تعيينات منافذ المضيف الثابتة وتوجيه الوكيل حسب اسم الخدمة، سيعمل الأمر docker compose up -d --scale backend=3. يتم تنسيق المهام في الخلفية عبر Redis (BullMQ)، بحيث تشارك نسخ الواجهة الخلفية المتعددة قوائم الانتظار بأمان.
البناء من المصدر
يقوم ملف تجاوز بتبديل خدمتي Intlayer من image: إلى build:. من استنساخ المستودع:
نسخ الكود إلى الحافظة
بدون استنساخ، وجّه سياق البناء إلى المستودع نفسه بتعيين INTLAYER_BUILD_CONTEXT=https://github.com/aymericzip/intlayer.git#main في .env. تتبع وسائط البناء VITE_* الخاصة بلوحة التحكم القيم DOMAIN و APP_URL و BACKEND_URL من الملف نفسه، وهكذا يتم تطبيق النطاق المخصص.
النسخ الاحتياطي والترقية
نسخ الكود إلى الحافظة
إعدادات برنامج التثبيت
بدون --mode (أو INTLAYER_MODE)، يعرض برنامج التثبيت قائمة: desktop أو docker (شامل) أو compose. كما يقرأ بعض متغيرات البيئة؛ قم بتمريرها إلى الصدفة بدلاً من curl لأن الأمر يتم توجيهه بالأنابيب:
نسخ الكود إلى الحافظة
نسخ الكود إلى الحافظة
افتح الجدول في نافذة منبثقة لعرض جميع محتويات البيانات بوضوح
| Variable | Default | Applies to | Description |
|---|---|---|---|
INTLAYER_MODE | (asked) | all | desktop, docker or compose, same as --mode |
INTLAYER_DOWNLOAD_DIR | ~/Downloads | desktop | Where the app installer is saved |
INTLAYER_IMAGE | intlayer/cms-all:latest | docker | All-in-one image to pull |
INTLAYER_ENV_FILE | ./intlayer.env | docker | Where to write the environment file |
INTLAYER_CONTAINER_NAME | intlayer | docker | Container name |
INTLAYER_DATA_VOLUME | intlayer-data | docker | Named volume mounted at /data |
INTLAYER_APP_PORT | 3000 | docker | Host port for the dashboard |
INTLAYER_API_PORT | 3100 | docker | Host port for the API |
INTLAYER_S3_PORT | 9000 | docker | Host port for the MinIO S3 API |
INTLAYER_CONSOLE_PORT | 9001 | docker | Host port for the MinIO console |
INTLAYER_COMPOSE_DIR | ./intlayer | compose | Where docker-compose.yml and .env are written |
INTLAYER_SELFHOST_REF | main | both | Git ref the compose file and env template are fetched from |
INTLAYER_BUILD_CONTEXT | …/intlayer.git#main | both | Build context used when a custom domain requires a rebuild |
INTLAYER_CUSTOM_IMAGE | intlayer/cms-all:custom | docker | Tag of the all-in-one image built for a custom domain |
تغير متغيرات المنفذ جانب المضيف فقط من التعيين. تحتوي الصور المنشورة علىhttp://localhost:3000وhttp://localhost:3100وhttp://localhost:9000المترجمة في حزمة لوحة التحكم، لذا احتفظ بالإعدادات الافتراضية ما لم تقم ببناء صورتك الخاصة، راجع القيود.
إعداد التشغيل الأول
سيؤدي فتح لوحة التحكم على مثيل جديد (قاعدة بيانات فارغة) إلى إعادة التوجيه تلقائيًا إلى صفحة /init:
- أنشئ الحساب الأول. نظرًا لأن مجموعة المستخدمين فارغة، تتم ترقية هذا الحساب تلقائيًا إلى مسؤول متميز.
- يتم إرسال رسالة بريد إلكتروني للتحقق عبر Resend أو مرحّل SMTP الخاص بك. التحقق من البريد الإلكتروني إلزامي، ولهذا السبب يجب تكوين خادم البريد قبل البدء.
- انقر فوق الرابط الموجود في البريد الإلكتروني وقم بتسجيل الدخول.
بمجرد وجود مسؤول، يعيد المسار /init التوجيه إلى صفحة تسجيل الدخول العادية.
متغيرات البيئة
يقرأ كلا وضعي Docker نفس الملف (intlayer.env للحاوية أو .env لـ Compose) الذي تم إنشاؤه من docker/selfhost/.env.template.
مطلوب
افتح الجدول في نافذة منبثقة لعرض جميع محتويات البيانات بوضوح
| Variable | Example | Description |
|---|---|---|
BETTER_AUTH_SECRET | (generated) | 32-byte secret for session signing |
S3_SECRET_ACCESS_KEY | (generated) | Secret for the bundled MinIO |
RESEND_API_KEY | (your key) | Transactional email via Resend. Required for first-run setup unless an SMTP relay is configured instead (see Global mailer) |
محدد بواسطة النشر
يتم تعيين هذه المتغيرات بواسطة الصورة (الشاملة) أو بواسطة ملف compose، ولا تحتاج إلى تجاوز إلا في حالة بنية غير قياسية. تُستثنى من ذلك DOMAIN و APP_URL و BACKEND_URL و S3_PUBLIC_URL: عند تعيينها في ملف env، تكون لها الأولوية في كلا الوضعين (انظر النطاق المخصص).
افتح الجدول في نافذة منبثقة لعرض جميع محتويات البيانات بوضوح
| Variable | All-in-one | Docker Compose | Description |
|---|---|---|---|
PORT | 3100 | 3100 | Backend listening port |
APP_URL | http://localhost:3000 | http://localhost:3000 | Public URL of the dashboard |
BACKEND_URL | http://localhost:3100 | http://localhost:3100 | Public URL of the backend API |
DOMAIN | localhost | localhost | Cookie domain |
SELF_HOSTED | true | true | Disables the cloud-only API endpoints (billing, subscriptions, marketplace) |
MONGODB_URI | mongodb://127.0.0.1:27017/intlayer?replicaSet=rs0 | mongodb://mongo:27017/… | MongoDB connection string, any mongodb:// or mongodb+srv:// cluster works |
REDIS_URL | redis://127.0.0.1:6379 | redis://redis:6379 | Redis |
S3_ENDPOINT | http://127.0.0.1:9000 | http://minio:9000 | MinIO (server-to-server) |
S3_PUBLIC_URL | http://localhost:9000/intlayer | http://localhost:9000/intlayer | Public URL for browser asset loading |
S3_BUCKET_NAME | intlayer | intlayer | Bucket name |
S3_ACCESS_KEY_ID | intlayer | intlayer | MinIO access key |
تتلقى خدمة app في Compose أيضًا INTLAYER_BACKEND_INTERNAL_URL=http://backend:3100: يصل المتصفح إلى واجهة برمجة التطبيقات على localhost:3100، ولكن العرض من جانب الخادم يتم داخل شبكة Compose ولذلك يجب استخدام اسم الخدمة.
النطاق المخصص
تقرأ الواجهة الخلفية عناوين URL العامة الخاصة بها وقت التشغيل، لكن لوحة التحكم تحتويها مضمّنة أثناء البناء: الصورتان المنشورتان intlayer/cms-frontend و intlayer/cms-all تعملان فقط على http://localhost:3000. لذلك يتطلب تقديم Intlayer على نطاقك الخاص أمرين، يُعدّهما برنامج التثبيت كليهما عندما تجيب على سؤال النطاق:
أربعة متغيرات في ملف env، تقرؤها الواجهة الخلفية (ملفات تعريف الارتباط، روابط البريد الإلكتروني، استدعاءات OAuth، عناوين URL للأصول) ويستخدمها
docker-compose.build.ymlكوسائط بناء:intlayer.envنسخ الكودنسخ الكود إلى الحافظة
صورة للوحة التحكم مبنية بهذه العناوين. يبنيها Docker مباشرة من المستودع، دون الحاجة إلى استنساخ:
shنسخ الكودنسخ الكود إلى الحافظة
ثم ضع وكيلًا عكسيًا (reverse proxy) مع TLS أمام الحاوية: cms.example.org → المنفذ 3000، back.example.org → 3100، s3.example.org → 9000. يجب أن تشترك المضيفات الثلاثة في اللاحقة DOMAIN، لأن ملف تعريف ارتباط الجلسة مقيّد بها.
اختياري (تتراجع الميزات بسلاسة عند غيابها)
افتح الجدول في نافذة منبثقة لعرض جميع محتويات البيانات بوضوح
| Variable | Feature |
|---|---|
OPENAI_API_KEY | AI-assisted translation and content audit |
GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET | GitHub OAuth login |
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET | Google OAuth login |
GITLAB_CLIENT_ID, GITLAB_CLIENT_SECRET | GitLab OAuth login |
MICROSOFT_CLIENT_ID, MICROSOFT_CLIENT_SECRET | Microsoft OAuth login |
خادم البريد العام
تمر جميع رسائل البريد الإلكتروني الخاصة بالمعاملات، بما في ذلك رسائل البريد الإلكتروني غير التابعة للمؤسسة مثل عمليات إعادة تعيين كلمة المرور والروابط السحرية، عبر أحد وسيطي النقل العالميين:
- Resend: باستخدام
RESEND_API_KEY. - SMTP: باستخدام متغيرات
MAIL_SMTP_*. بمجرد تعيينMAIL_SMTP_HOST، يتم استخدام SMTP وتجاهلRESEND_API_KEY.
يلزم استخدام MAIL_PROVIDER فقط لفرض وسيلة نقل معينة إذا تم تكوين كليهما (على سبيل المثال MAIL_PROVIDER=resend للاحتفاظ بـ Resend عند وجود مضيف SMTP).
افتح الجدول في نافذة منبثقة لعرض جميع محتويات البيانات بوضوح
| Variable | Example | Description |
|---|---|---|
MAIL_FROM | Intlayer <no-reply@acme.com> | Sender header for either transport. Accepts a bare address or Name <email> |
MAIL_SMTP_HOST | smtp.acme.com | SMTP host. Setting it selects the SMTP transport |
MAIL_SMTP_PORT | 587 | SMTP port (defaults to 587) |
MAIL_SMTP_SECURE | false | Implicit TLS. Set true for port 465 |
MAIL_SMTP_USER | (your user) | SMTP username (optional; omit for unauthenticated relays) |
MAIL_SMTP_PASSWORD | (your password) | SMTP password |
MAIL_PROVIDER | resend | Optional override: smtp or resend. Leave unset to auto-select |
ترتيب الأسبقية: يتجاوز خادم البريد الخاص بالمؤسسة (المكون من لوحة تحكم المؤسسة) خادم البريد العام، ويتجاوز خادم البريد العام مفتاح Resend الافتراضي.
ربط مشروع Intlayer الخاص بك
بمجرد تشغيل الحزمة، قم بتكوين مشروعك للإشارة إلى الواجهة الخلفية ولوحة التحكم المستضافة ذاتيًا بدلاً من intlayer.org.
تكوين المشروع
نسخ الكود إلى الحافظة
import type { IntlayerConfig } from "intlayer";
const config: IntlayerConfig = {
editor: {
clientId: process.env.INTLAYER_CLIENT_ID,
clientSecret: process.env.INTLAYER_CLIENT_SECRET,
/**
* URL of the self-hosted CMS dashboard.
* Default: https://app.intlayer.org
*/
cmsURL: process.env.INTLAYER_CMS_URL, // e.g. http://localhost:3000
/**
* URL of the self-hosted backend API.
* Default: https://back.intlayer.org
*/
backendURL: process.env.INTLAYER_BACKEND_URL, // e.g. http://localhost:3100
},
};
export default config;
Set the environment variables in your project's .env:
نسخ الكود إلى الحافظة
أنشئ بيانات اعتماد الوصول في لوحة التحكم المستضافة ذاتيًا في المشاريع ← مفاتيح الوصول (http://localhost:3000/projects).
حزمة SDK @intlayer/api
عند استخدام حزمة SDK @intlayer/api برمجيًا، مرر backendURL بشكل صريح:
نسخ الكود إلى الحافظة
القيود
- النطاق المخصص يتطلب إعادة البناء. يتم تضمين جميع عناوين URL الخاصة بـ
VITE_*الموجهة للمتصفح في لوحة التحكم أثناء وقت البناء، وتأتي الصور المنشورة (وتطبيق سطح المكتب) مع قيمlocalhost/ Intlayer Cloud. افتراضيًا، يجب الوصول إلى لوحة التحكم علىhttp://localhost:3000، والواجهة الخلفية على:3100، و MinIO على:9000؛ وإعادة تعيين منافذ المضيف لها التأثير نفسه. يُعدّ برنامج التثبيت كل شيء لإعادة البناء من المستودع عندما تزوده بنطاق (انظر النطاق المخصص)، لكن البناء نفسه يستغرق عدة دقائق. توجيه تطبيق سطح المكتب إلى واجهة خلفية مستضافة ذاتيًا غير مدعوم. - يتطلب إرسال البريد الإلكتروني خادم بريد فعال. يفرض إعداد التشغيل الأول التحقق من البريد الإلكتروني، لذلك يجب تكوين
RESEND_API_KEYأو مرحّل SMTP (MAIL_SMTP_*). بعد تسجيل دخول المسؤول الأول، يمكن لكل مؤسسة أيضًا تكوين خادم بريد SMTP أو Resend الخاص بها من لوحة التحكم. - يحتاج تطبيق سطح المكتب إلى Node.js على الجهاز لبدء خادمه المدمج.
- لا يوجد مساعد للتوثيق. يعتمد مساعد التوثيق بالذكاء الاصطناعي في intlayer.org (
/api/ai/ask،/api/search/doc) على نحو 130 ميغابايت من التضمينات (embeddings) المحسوبة مسبقًا للتوثيق والتي لا تتضمنها صور الاستضافة الذاتية؛ لذا لا يتم تسجيل هذين المسارين في وضع الاستضافة الذاتية. لا تتأثر ميزات الذكاء الاصطناعي الخاصة بلوحة التحكم (الترجمة، التدقيق، الإكمال التلقائي، الدردشة) ولا تحتاج إلا إلىOPENAI_API_KEY.
روابط مفيدة
- توثيق Intlayer CMS
- مرجع التكوين
- CMS SDK:
@intlayer/api - إصدارات تطبيق سطح المكتب
- Docker Hub:
intlayer/cms-all،intlayer/cms-frontend،intlayer/cms-backend، مرآة GHCR:ghcr.io/aymericzip/intlayer/ docker/selfhost/: ملف Dockerfile، وdocker-compose.yml، و.env.template
