---
title: الإعداد المحلي
description: "The guide for contributors (or curious developers) who want to run Twenty locally."
image: /images/user-guide/fields/field.png
---

<Frame>
  <img src="/images/user-guide/fields/field.png" alt="Header" />
</Frame>

## Prerequisites

<Tabs>
<Tab title="Linux and MacOS">

قبل أن تتمكن من تثبيت واستخدام 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)

<Warning>
لن يعمل `npm` ، يجب عليك استخدام `yarn` بدلًا من ذلك. Yarn is now shipped with Node.js, so you don't need to install it separately.
عليك فقط تشغيل `corepack enable` لتفعيل Yarn إذا لم تقم بذلك بعد.
</Warning>

</Tab>

<Tab title="Windows (WSL)">

1. Install WSL
   Open PowerShell as Administrator and run:

```powershell
wsl --install
```

يجب أن ترى الآن مطالبة لإعادة تشغيل جهاز الكمبيوتر الخاص بك. إذا لم يكن كذلك، فأعد تشغيله يدويًا.

Upon restart, a powershell window will open and install 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

<Warning>
استخدم `nvm` لتثبيت نسخة `node` الصحيحة. الملف `.nvmrc` يضمن استخدام جميع المشاركين لنفس النسخة.
</Warning>

```bash
sudo apt-get install curl

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
```

أغلق وأعد فتح برنامجك الطرفي لاستخدام nvm. ثم قم بتشغيل الأوامر التالية.

```bash

nvm install # installs recommended node version

nvm use # use recommended node version

corepack enable
```

</Tab>
</Tabs>

---

## الخطوة 1: استنساخ Git

في الطرفية الخاصة بك، قم بتشغيل الأمر التالي.

<Tabs>
<Tab title="SSH (Recommended)">
إذا لم تكن قد أعددت مفاتيح SSH بالفعل، يمكنك معرفة كيفية القيام بذلك [هنا](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/about-ssh).
```bash
git clone git@github.com:twentyhq/twenty.git
```
</Tab>
<Tab title="HTTPS">

```bash
git clone https://github.com/twentyhq/twenty.git
```

</Tab>
</Tabs>

## الخطوة 2: ضع نفسك في الجذر

```bash
cd twenty
```

يجب تشغيل جميع الأوامر في الخطوات التالية من جذر المشروع.

## الخطوة 3: إعداد قاعدة بيانات PostgreSQL

<Tabs>
  <Tab title="Linux">
    **Option 1 (preferred):** To provision your database locally:
    Use the following link to install Postgresql on your Linux machine: [Postgresql Installation](https://www.postgresql.org/download/linux/)
    ```bash
      psql postgres -c "CREATE DATABASE \"default\";" -c "CREATE DATABASE test;"
    ```
    Note: You might need to add `sudo -u postgres` to the command before `psql` to avoid permission errors.

````
**Option 2:** If you have docker installed:
```bash
  make postgres-on-docker
```
````

  </Tab>
  <Tab title="Mac OS">
    **Option 1 (preferred):** To provision your database locally with `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;"
```

You can verify if the PostgreSQL server is running by executing:
```bash
  brew services list
```

The installer might not create the `postgres` user by default when installing
via Homebrew on MacOS. Instead, it creates a PostgreSQL role that matches your macOS
username (e.g., "john").
To check and create the `postgres` user if necessary, follow these steps:
```bash
  # Connect to PostgreSQL
  psql postgres
  or
  psql -U $(whoami) -d postgres
```

Once at the psql prompt (postgres=#), run:
 ```bash
  # List existing PostgreSQL roles
  \du
```
You'll see output similar to:
 ```bash
  Role name | Attributes  | Member of
  -----------+-------------+-----------
  john      | Superuser   | {}
```

If you do not see a `postgres` role listed, proceed to the next step.
Create the `postgres` role manually:
 ```bash
  CREATE ROLE postgres WITH SUPERUSER LOGIN;
```
This creates a superuser role named `postgres` with login access.

**Option 2:** If you have docker installed:
```bash
  make postgres-on-docker
```
````

  </Tab>
  <Tab title="Windows (WSL)">
    All the following steps are to be run in the WSL terminal (within your virtual machine)

````
**Option 1:** To provision your Postgresql locally:
Use the following link to install Postgresql on your Linux virtual machine: [Postgresql Installation](https://www.postgresql.org/download/linux/)
```bash
  psql postgres -c "CREATE DATABASE \"default\";" -c "CREATE DATABASE test;"
```
Note: You might need to add `sudo -u postgres` to the command before `psql` to avoid permission errors.

**Option 2:** If you have docker installed:
Running Docker on WSL adds an extra layer of complexity.
Only use this option if you are comfortable with the extra steps involved, including turning on [Docker Desktop WSL2](https://docs.docker.com/desktop/wsl).
```bash
  make postgres-on-docker
```
````

  </Tab>
</Tabs>

يمكنك الآن الوصول إلى قاعدة البيانات على [localhost:5432](localhost:5432)، مع المستخدم `postgres` وكلمة المرور `postgres`.

## الخطوة 4: إعداد قاعدة البيانات Redis (للتخزين المؤقت)

يتطلب Twenty مخزن بيانات Redis لتقديم أفضل أداء

<Tabs>
  <Tab title="Linux">
    **Option 1:** To provision your Redis locally:
    Use the following link to install Redis on your Linux machine: [Redis Installation](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-linux/)

````
**Option 2:** If you have docker installed:
```bash
  make redis-on-docker
```
````

  </Tab>
  <Tab title="Mac OS">
    **Option 1 (preferred):** To provision your Redis locally with `brew`:
    ```bash
    brew install redis
    ```
    Start your redis server:
    ```brew services start redis```

````
**Option 2:** If you have docker installed:
```bash
  make redis-on-docker
```
````

  </Tab>
  <Tab title="Windows (WSL)">
    **Option 1:** To provision your Redis locally:
    Use the following link to install Redis on your Linux virtual machine: [Redis Installation](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-linux/)

````
**Option 2:** If you have docker installed:
```bash
  make redis-on-docker
```
````

  </Tab>
</Tabs>

إذا كنت بحاجة إلى واجهة رسومية للعميل، نوصي بـ [redis insight](https://redis.io/insight/) (يتوفر إصدار مجاني)

## الخطوة 5: إعداد متغيرات البيئة

استخدم متغيرات البيئة أو ملفات `.env` لتكوين مشروعك. المزيد من المعلومات [هنا](https://docs.twenty.com/l/ar/developers/self-hosting/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
```

## الخطوة 6: تثبيت التبعيات

لبناء خادم Twenty وزرع بعض البيانات في قاعدة البيانات الخاصة بك، قم بتشغيل الأمر التالي:

```bash
yarn
```

لاحظ أن `npm` أو `pnpm` لن تعملا

## الخطوة 7: تشغيل المشروع

<Tabs>
  <Tab title="Linux">
    اعتمادًا على توزيعة Linux الخاصة بك، قد يتم بدء خادم Redis تلقائيًا.
    إذا لم يكن كذلك، تحقق من [دليل تثبيت ريديس](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/) لتوزيعتك.
  </Tab>
  <Tab title="Mac OS">
  من المفترض أن يكون Redis قد تم تشغيله بالفعل. If not, run:
    ```bash
    brew services start redis
    ```  
</Tab>
  <Tab title="Windows (WSL)">
    اعتمادًا على توزيعة Linux الخاصة بك، قد يتم بدء خادم Redis تلقائيًا.
    إذا لم يكن كذلك، تحقق من [دليل تثبيت ريديس](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/) لتوزيعتك.
  </Tab>
</Tabs>

قم بضبط قاعدة بياناتك بالأمر التالي:

```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)

## استكشاف الأخطاء وإصلاحها

إذا واجهت أي مشكلة، فارجع إلى [استكشاف الأخطاء وإصلاحها](https://docs.twenty.com/l/ar/developers/self-hosting/troubleshooting) للحصول على الحلول.