--- title: الإعداد المحلي description: الدليل للمساهمين (أو المطورين الفضوليين) الذين يرغبون في تشغيل Twenty محلياً. --- ## المتطلبات الأساسية قبل أن تتمكن من تثبيت واستخدام Twenty، تأكد من تثبيت الأمور التالية على جهاز الكمبيوتر الخاص بك: * [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) * [Node v24.5.0](https://nodejs.org/en/download) * [yarn v4](https://yarnpkg.com/getting-started/install) * [nvm](https://github.com/nvm-sh/nvm/blob/master/README.md) لن يعمل `npm` ، يجب عليك استخدام `yarn` بدلًا من ذلك. يأتي Yarn الآن مع Node.js، لذا لست بحاجة إلى تثبيته بشكل منفصل. عليك فقط تشغيل `corepack enable` لتفعيل Yarn إذا لم تقم بذلك بعد. 1. ثبّت WSL افتح PowerShell كمسؤول ثم نفّذ: ```powershell wsl --install ``` يجب أن ترى الآن مطالبة لإعادة تشغيل جهاز الكمبيوتر الخاص بك. إذا لم يكن كذلك، فأعد تشغيله يدويًا. عند إعادة التشغيل، ستُفتح نافذة PowerShell وسيتم تثبيت Ubuntu. قد يستغرق هذا وقتًا طويلاً. سترى مطالبة لإنشاء اسم المستخدم وكلمة المرور لتثبيت Ubuntu الخاص بك. 2. تثبيت وإعداد git ```bash sudo apt-get install git git config --global user.name "Your Name" git config --global user.email "youremail@domain.com" ``` 3. تثبيت nvm و node.js و yarn استخدم `nvm` لتثبيت نسخة `node` الصحيحة. الملف `.nvmrc` يضمن استخدام جميع المشاركين لنفس النسخة. ```bash sudo apt-get install curl curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash ``` أغلق وأعد فتح برنامجك الطرفي لاستخدام nvm. ثم قم بتشغيل الأوامر التالية. ```bash nvm install # يثبت إصدار node الموصى به nvm use # استخدم إصدار node الموصى به corepack enable ``` --- ## الخطوة 1: استنساخ Git في الطرفية الخاصة بك، قم بتشغيل الأمر التالي. إذا لم تكن قد أعددت مفاتيح SSH بالفعل، يمكنك معرفة كيفية القيام بذلك [هنا](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/about-ssh). ```bash git clone git@github.com:twentyhq/twenty.git ``` ```bash git clone https://github.com/twentyhq/twenty.git ``` ## الخطوة 2: انتقل إلى جذر المشروع ```bash cd twenty ``` يجب تشغيل جميع الأوامر في الخطوات التالية من جذر المشروع. ## الخطوة 3: إعداد قاعدة بيانات PostgreSQL **الخيار 1 (المفضل):** لتوفير قاعدة بياناتك محليًا: استخدم الرابط التالي لتثبيت PostgreSQL على جهاز Linux الخاص بك: [تثبيت PostgreSQL](https://www.postgresql.org/download/linux/) ```bash psql postgres -c "CREATE DATABASE \"default\";" -c "CREATE DATABASE test;" ``` ملاحظة: قد تحتاج إلى إضافة `sudo -u postgres` إلى الأمر قبل `psql` لتجنب أخطاء الإذن. **الخيار 2:** إذا كنت قد قمت بتثبيت docker: ```bash make -C packages/twenty-docker postgres-on-docker ``` **الخيار 1 (المفضل):** لتوفير قاعدة بياناتك محليًا مع `brew`: ```bash brew install postgresql@16 export PATH="/opt/homebrew/opt/postgresql@16/bin:$PATH" brew services start postgresql@16 psql postgres -c "CREATE DATABASE \"default\";" -c "CREATE DATABASE test;" ``` يمكنك التحقق مما إذا كان خادم PostgreSQL يعمل بتنفيذ: ```bash brew services list ``` قد لا يقوم المُثبِّت بإنشاء المستخدم `postgres` افتراضيًا عند التثبيت عبر Homebrew على macOS. بدلاً من ذلك، فإنه ينشئ دور PostgreSQL يطابق اسم المستخدم الخاص بك في MacOS (مثل "john"). للتحقق وإنشاء المستخدم `postgres` إذا لزم الأمر، اتبع هذه الخطوات: ```bash # قم بالاتصال بPostgreSQL psql postgres أو psql -U $(whoami) -d postgres ``` بمجرد أن تكون عند مطالبة psql (postgres=#)، قم بتشغيل: ```bash # قائمة الأدوار الموجودة في PostgreSQL \du ``` سترى مخرجات مشابهة ل: ```bash اسم الأدوار | الخصائص | عضو في -----------+-------------+----------- john | مشرف نظام | {} ``` إذا لم ترَ دور `postgres` مدرجًا، انتقل إلى الخطوة التالية. قم بإنشاء دور `postgres` يدويًا: ```bash CREATE ROLE postgres WITH SUPERUSER LOGIN; ``` يقوم هذا بإنشاء دور مشرف نظام باسم `postgres` مع إمكانية تسجيل الدخول. ```bash اسم الدور | الخصائص | عضو في -----------+-------------+----------- postgres | مشرف نظام | {} john | مشرف نظام | {} ``` **الخيار 2:** إذا كنت قد قمت بتثبيت docker: ```bash make -C packages/twenty-docker postgres-on-docker ``` يجب أن تُنفذ جميع الخطوات التالية في تيرمينال WSL (داخل جهازك الافتراضي) **الخيار 1:** لتوفير قاعدة بيانات PostgreSQL الخاصة بك محليًا: استخدم الرابط التالي لتثبيت PostgreSQL على جهاز Linux الافتراضي الخاص بك: [تثبيت PostgreSQL](https://www.postgresql.org/download/linux/) ```bash psql postgres -c "CREATE DATABASE \"default\";" -c "CREATE DATABASE test;" ``` ملاحظة: قد تحتاج إلى إضافة `sudo -u postgres` إلى الأمر قبل `psql` لتجنب أخطاء الإذن. **الخيار 2:** إذا كنت قد قمت بتثبيت docker: تشغيل Docker على WSL يضيف طبقة إضافية من التعقيد. استخدم هذا الخيار فقط إذا كنت مرتاحًا مع الخطوات الإضافية المتضمنة، بما في ذلك تشغيل [Docker Desktop WSL2](https://docs.docker.com/desktop/wsl). ```bash make -C packages/twenty-docker postgres-on-docker ``` يمكنك الآن الوصول إلى قاعدة البيانات على `localhost:5432`. إذا استخدمت خيار Docker أعلاه، فإن بيانات الاعتماد الافتراضية هي اسم المستخدم `postgres` وكلمة المرور `postgres`. بالنسبة لتثبيتات PostgreSQL الأصلية، استخدم بيانات الاعتماد والأدوار المُكوَّنة على جهازك. ## الخطوة 4: إعداد قاعدة بيانات Redis (للتخزين المؤقت) يتطلب Twenty مخزن بيانات Redis لتقديم أفضل أداء. **الخيار 1:** لتوفير Redis الخاص بك محليًا: استخدم الرابط التالي لتثبيت Redis على جهاز Linux: [تثبيت Redis](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-linux/) **الخيار 2:** إذا كنت قد قمت بتثبيت docker: ```bash make -C packages/twenty-docker redis-on-docker ``` **الخيار 1 (المفضل):** لتوفير Redis الخاص بك محليًا مع `brew`: ```bash brew install redis ``` ابدأ تشغيل خادم Redis: ```bash brew services start redis ``` **الخيار 2:** إذا كنت قد قمت بتثبيت docker: ```bash make -C packages/twenty-docker redis-on-docker ``` **الخيار 1:** لتوفير Redis الخاص بك محليًا: استخدم الرابط التالي لتثبيت Redis على جهاز Linux الافتراضي الخاص بك: [تثبيت Redis](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-linux/) **الخيار 2:** إذا كنت قد قمت بتثبيت docker: ```bash make -C packages/twenty-docker redis-on-docker ``` إذا كنت بحاجة إلى واجهة رسومية للعميل، نوصي بـ [Redis Insight](https://redis.io/insight/) (يتوفر إصدار مجاني). ## الخطوة 5: إعداد متغيرات البيئة استخدم متغيرات البيئة أو ملفات `.env` لتكوين مشروعك. المزيد من المعلومات [هنا](/l/ar/developers/self-host/capabilities/setup). انسخ ملفات `.env.example` الموجودة في `/front` و`/server`: ```bash cp ./packages/twenty-front/.env.example ./packages/twenty-front/.env cp ./packages/twenty-server/.env.example ./packages/twenty-server/.env ``` **وضع تعدد مساحات العمل:** بشكل افتراضي، يعمل Twenty في وضع مساحة عمل واحدة حيث يمكن إنشاء مساحة عمل واحدة فقط. لتمكين دعم تعدد مساحات العمل (مفيد لاختبار الميزات المعتمدة على النطاقات الفرعية)، عيّن `IS_MULTIWORKSPACE_ENABLED=true` في ملف الخادم `.env`. راجع [وضع تعدد مساحات العمل](/l/ar/developers/self-host/capabilities/setup#multi-workspace-mode) للحصول على التفاصيل. ## الخطوة 6: تثبيت التبعيات لبناء خادم Twenty وزرع بعض البيانات في قاعدة البيانات الخاصة بك، قم بتشغيل الأمر التالي: ```bash yarn ``` لاحظ أن `npm` أو `pnpm` لن تعملا ## الخطوة 7: تشغيل المشروع اعتمادًا على توزيعة Linux الخاصة بك، قد يتم بدء خادم Redis تلقائيًا. إذا لم يكن كذلك، تحقق من [دليل تثبيت Redis](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/) لتوزيعتك. من المفترض أن يكون Redis قد تم تشغيله بالفعل. إذا لم يكن كذلك، قم بتشغيل: ```bash brew services start redis ``` اعتمادًا على توزيعة Linux الخاصة بك، قد يتم بدء خادم Redis تلقائيًا. إذا لم يكن كذلك، تحقق من [دليل تثبيت ريديس](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/) لتوزيعتك. قم بضبط قاعدة بياناتك بالأمر التالي: ```bash npx nx database:reset twenty-server ``` ابدأ الخادم والخادم الثانوي وخدمات الواجهة الأمامية: ```bash npx nx start twenty-server npx nx worker twenty-server npx nx start twenty-front ``` بدلاً من ذلك، يمكنك بدء جميع الخدمات مرة واحدة: ```bash npx nx start ``` ## الخطوة الثامنة: استخدم Twenty **الواجهة الأمامية** ستكون واجهة Twenty الأمامية تعمل على [http://localhost:3001](http://localhost:3001). يمكنك تسجيل الدخول باستخدام حساب العرض التوضيحي الافتراضي: `tim@apple.dev` (كلمة المرور: `tim@apple.dev`) **الخلفية** * سيكون خادم Twenty متصلاً ويعمل على [http://localhost:3000](http://localhost:3000) * يمكن الوصول إلى واجهة برمجة التطبيقات GraphQL في [http://localhost:3000/graphql](http://localhost:3000/graphql) * يمكن الوصول إلى واجهة برمجة التطبيقات REST في [http://localhost:3000/rest](http://localhost:3000/rest) ## استكشاف الأخطاء وإصلاحها إذا واجهت أي مشكلة، فارجع إلى [استكشاف الأخطاء وإصلاحها](/l/ar/developers/self-host/capabilities/troubleshooting) للحصول على الحلول.