> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gorbit.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# الموارد

> متطلبات الموارد لنشر Gorbit

## Resourcing Overview

| Resource | Minimum                     | Preferred                             |
| -------- | --------------------------- | ------------------------------------- |
| CPU      | 4 vCPU                      | 8+ vCPU                               |
| RAM      | 10 GB                       | 16+ GB                                |
| Disk     | 32 GB + \~2.5x indexed data | 500 GB for organizations \<5000 users |

<Warning>
  Vespa (the vector database used by Gorbit) does not allow writes once disk usage hits 75%.
</Warning>

## النشر المحلي (Docker)

يمكنك التحكم في الموارد المتاحة لـ Docker في قسم **Resources** من قائمة إعدادات Docker Desktop.

<Info>
  غالبًا ما تشغل صور Docker القديمة غير المستخدمة مساحة قرص كبيرة. لتنظيف الصور غير المستخدمة،
  قم بتشغيل `docker system prune --all`.
</Info>

## مزودو الخدمة السحابية (AWS، GCP، إلخ)

للنشرات الصغيرة إلى المتوسطة، نوصي بنشر Gorbit على مثيل واحد في مزود الخدمة السحابية الذي تختاره.

عند تقييم مثيلك، اتبع الموارد المفضلة في الجدول أعلاه.

| المزود       | نوع المثيل الموصى به                 |
| ------------ | ------------------------------------ |
| AWS          | `m7g.xlarge`                         |
| GCP          | `e2-standard-4` أو `e2-standard-8`   |
| Azure        | `D4s_v3`                             |
| DigitalOcean | تلبي الموارد المفضلة في الجدول أعلاه |

<Accordion title="Vespa على المعالجات القديمة">
  **يتطلب Vespa معالجات Haswell (2013) أو أحدث.**

  للمعالجات القديمة، استخدم صورة `vespaengine/vespa-generic-intel-x86_64` في ملف Docker Compose الخاص بك.
  هذه الصورة العامة أبطأ.

  لمزيد من التفاصيل، راجع [Vespa CPU Support](https://docs.vespa.ai/en/cpu-support.html).
</Accordion>

## تخصيص الموارد حسب الحاوية

للتوسع بكفاءة أكبر، يمكنك تخصيص موارد لكل حاوية Gorbit باستخدام Kubernetes أو AWS EKS.

راجع [Gorbit Helm chart](https://github.com/gorbit-dot-app/gorbit/blob/main/deployment/helm/charts/gorbit/values.yaml)
`values.yaml` للطلبات والحدود الافتراضية.

| المكون                   | المعالج    | الذاكرة |
| ------------------------ | ---------- | ------- |
| `api_server`             | 1          | 2 Gi    |
| `background`             | 2          | 8 Gi    |
| `indexing_model_server`  | 2          | 4 Gi    |
| `inference_model_server` | 2          | 4 Gi    |
| `postgres`               | 2          | 2 Gi    |
| `vespa`                  | >= 4       | >= 8 Gi |
| `nginx`                  | 250m (1/4) | 128 Mi  |

<Info>
  توصية `vespa` هي الحد الأدنى لنشر الإنتاج. مع 50 جيجابايت من المستندات،
  نوصي بما لا يقل عن 10 معالجات و 20 جيجابايت من الذاكرة.
</Info>

مجتمعة، يصل هذا إلى إجمالي حجم عقدة متاح لا يقل عن \~14 معالج و \~30 جيجابايت من الذاكرة.

## كيف تتغير متطلبات الموارد

المحرك الرئيسي لمتطلبات الموارد هو عدد المستندات المفهرسة.
يؤثر هذا بشكل أساسي على مكون الفهرس في Gorbit (قاعدة بيانات المتجهات [Vespa](https://vespa.ai/))،
المسؤول عن تخزين المستندات المحولة إلى متجهات والتعامل مع طلبات البحث.

<Note>
  متطلبات موارد Vespa تتغير خطيًا مع عدد المستندات.
</Note>

بناءً على تجربتنا مع النشرات واسعة النطاق، بالإضافة إلى الحدود الدنيا المذكورة سابقًا، يحتاج Vespa إلى:

* \~3 جيجابايت من الذاكرة لكل جيجابايت إضافي من المستندات
* \~1 معالج لكل 2 جيجابايت إضافية من المستندات

هذه تقديرات تقريبية. العوامل الأخرى التي قد تؤثر على متطلبات الموارد تشمل:

* نموذج التضمين
* ما إذا كان لديك تكميم وتقليل الأبعاد مفعّلًا

### مثال على الموارد

لنشر مع 10 جيجابايت من المحتوى النصي، سيحتاج مكون `index` الخاص بك إلى:

* المعالج: 4 + 10 \* 0.5 = 9 نوى
* الذاكرة: 4 + 10 \* 3 = 34 جيجابايت

إذا كان النشر على مثيل واحد، فسيكون هذا *بالإضافة إلى* المتطلبات الأساسية. إجمالاً، سيصل ذلك إلى

> \= 13 معالج و >= 50 جيجابايت من الذاكرة.

بناءً على هذه المتطلبات، سيكون مثيل EC2 من نوع `m7g.4xlarge` أو `c5.9xlarge` مناسبًا.

إذا كان النشر باستخدام Kubernetes أو AWS EKS، فسيكون تخصيص الموارد لكل مكون كالتالي:

| المكون                   | المعالج | الذاكرة |
| ------------------------ | ------- | ------- |
| `api_server`             | 1       | 2 Gi    |
| `background`             | 2       | 8 Gi    |
| `indexing_model_server`  | 2       | 4 Gi    |
| `inference_model_server` | 2       | 4 Gi    |
| `postgres`               | 2       | 4 Gi    |
| `vespa`                  | 10      | 34 Gi   |

إجمالي حجم العقدة المتاح: \~20 معالج و \~60 جيجابايت من الذاكرة.

## الخطوات التالية

<CardGroup cols={2}>
  <Card title="دليل: نشر Gorbit محليًا" icon="microchip" href="/deployment/local/docker">
    انشر Gorbit محليًا باستخدام Docker.
  </Card>

  <Card title="دليل: النشر على AWS" icon="microchip" href="/deployment/cloud/aws/ec2">
    انشر Gorbit على مثيل EC2.
  </Card>
</CardGroup>
