> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Kubernetes

> اضبط نشرًا على Kubernetes - أين توضع الإعدادات والأسرار والملفات، وصفحة لكل ميزة.

يقرأ النشر على Kubernetes متغيرات البيئة نفسها التي يقرؤها Toolkit. حيثما تقول صفحة من صفحات Toolkit "أضف هذا إلى `config/variables.env`"، ضع القيمة في الـ ConfigMap ‏`overleaf-env`، أو في الـ Secret ‏`overleaf-secrets` عندما تكون كلمة مرور أو مفتاحًا أو رمزًا مميزًا (token). ثم أعد التشغيل:

```bash theme={null}
kubectl -n overleaf apply -f 30-config.yaml        # after editing the ConfigMap
kubectl -n overleaf patch secret overleaf-secrets --type merge \
  -p '{"stringData":{"GITHUB_TOKEN_CIPHER_PASSWORD":"'"$(openssl rand -hex 32)"'"}}'
kubectl -n overleaf rollout restart deployment/overleaf
```

القيم الموجودة في `config/overleaf.rc` هي إعدادات خاصة بـ Toolkit، وليست متغيرات بيئة؛ ويوضح قسم الأسئلة والأجوبة في نهاية هذه الصفحة ما يحلّ محلها.

### الميزات

لكل ميزة من ميزات إعداد Toolkit صفحة هنا تتناول خدماتها وإعداداتها ومسارات الشبكة الخاصة بها ومهامها في الخلفية، وما يتغير مع عدة نسخ متماثلة، وكيف اختُبرت:

| الميزة | الخدمات في الـ Pod | ما يتجاوز الـ ConfigMap والـ Secret |
| - | - | - |
| [المصادقة](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/authentication): [OIDC](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/authentication/oidc-authentication.md)، [SAML](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/authentication/saml-authentication.md)، [LDAP](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/authentication/ldap-authentication.md)، [الوصول العام](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/authentication/public-access.md)، [reCAPTCHA](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/authentication/recaptcha.md)، [قيود كلمات المرور](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/authentication/password-restrictions.md) | web | أسرار العملاء، وشهادة الـ IdP، وجهة شهادات LDAP |
| [الترجمة المعزولة](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/sandboxed-compiles.md) | clsi | Docker Engine وصور TeX Live على كل عقدة |
| [الاستيراد والتصدير باستخدام Pandoc](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/pandoc-import-and-export.md) | clsi، web | صورة Pandoc في Docker على كل عقدة |
| [التكامل مع Git](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/integrations/git-integration.md) | git-bridge (في Pod خاص به)، web، history-v1 | الـ StatefulSet الخاص بـ git-bridge وخدمتان (Services) |
| المزامنة مع [GitHub](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/integrations/github-synchronisation.md) و[GitLab](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/integrations/gitlab-synchronisation.md) و[Gitea](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/integrations/gitea-synchronisation.md) | web | التكامل مع Git |
| [المزامنة مع Dropbox](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/integrations/dropbox-synchronisation.md) | web، third-party-datastore، document-updater | التكامل مع Git، وإمكانية الوصول إلى الـ webhook من الإنترنت، وفهارس قاعدة البيانات |
| التكامل مع [Zotero](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/integrations/zotero-integration.md) و[Mendeley](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/integrations/mendeley-integration.md) | web | كلمة مرور التشفير في الـ Secret |
| [خادم MCP](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/integrations/mcp-server.md) | web | التكامل مع Git |
| [التكامل مع الذكاء الاصطناعي](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/integrations/ai-integration.md) | web، linked-url-proxy | – |
| [واجهة استيراد Overleaf البرمجية](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/integrations/overleaf-import-api.md) | web، linked-url-proxy | – |
| [القوالب](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/templates.md) | web، filestore | S3 في حالة عدة نسخ متماثلة |
| [عنوان URL خارجي](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/external-url.md) | linked-url-proxy | عناوين العقد العامة في `OVERLEAF_LINKED_URL_BLOCKED_NETWORKS` |
| [السجلات](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/logging.md) | كل الخدمات | وحدة تخزين على `/var/log/overleaf` للاحتفاظ بالسجلات |
| [وكيل TLS](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/tls-proxy.md) | الـ Ingress أو موازن الأحمال لديك | ينتهي TLS أمام الـ Pods |
| [العلامة التجارية](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/branding.md) | web | – |
| [الترجمة والتوطين](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/localization.md) | web | اسم مضيف واحد لكل لغة |
| [تسليم البريد الإلكتروني](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/email-delivery.md) | web | – |
| [Redis](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/redis.md) | كل خدمة ذات حالة حية | – |
| [S3](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/s3.md) | history-v1، filestore | خدمة S3، مطلوبة في حالة عدة نسخ متماثلة |
| [إضافة مساعدة LaTeX للمستخدمين](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/adding-latex-user-help.md) | web | يجب أن تصل الـ Pods إلى موقع Wiki |
| [التوسع الأفقي](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/horizontal-scaling.md) | الكل | S3، وموازن أحمال مع جلسات لاصقة (sticky sessions) |

### الشهادات والملفات الأخرى

تأخذ بعض الميزات مسار ملف بدلًا من قيمة: شهادات SAML ‏(`OVERLEAF_SAML_IDP_CERT`، ...)، وجهة شهادات LDAP ‏(`OVERLEAF_LDAP_TLS_OPTS_CA_PATH`)، أو جهة شهادات خاصة لـ GitHub Enterprise أو GitLab أو Gitea مستضاف ذاتيًا (`NODE_EXTRA_CA_CERTS`). ضع الملفات في Secret وركّبه حيث تتوقعها صفحات Toolkit، أي `/var/lib/overleaf/certs`:

```bash theme={null}
kubectl -n overleaf create secret generic overleaf-certs --from-file=idp_cert.pem --from-file=ca.pem
```

```yaml title="40-overleaf.yaml (additions)" theme={null}
          volumeMounts:
            # ...
            - name: certs
              mountPath: /var/lib/overleaf/certs
              readOnly: true
      volumes:
        # ...
        - name: certs
          secret:
            secretName: overleaf-certs
```

ثم أشر إليها بمساراتها في الـ ConfigMap، مثل `NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem`، وأعد التشغيل.

> [!WARNING]
>
> **كلمات مرور التشفير.** اضبط في الـ Secret كل `*_CIPHER_PASSWORD` للميزات التي تستخدمها. وإلا فإن بعض الميزات تولّد ملف مفتاح في وحدة تخزين البيانات عند أول استخدام: مع نسخة متماثلة واحدة ينجح ذلك إلى أن تُفقد وحدة التخزين، ومع عدة نسخ متماثلة ستشفّر كل نسخة بمفتاح مختلف.

### أسئلة وأجوبة

> [accordion] ما إعدادات Toolkit من `config/overleaf.rc` التي أحتاجها؟
>
> **الإجابة:** لا يقرأ Ayakaleaf Pro أيًا منها. ونظائرها في Kubernetes هي:
>
> | `config/overleaf.rc` | Kubernetes |
> | - | - |
> | `OVERLEAF_LISTEN_IP`، `OVERLEAF_PORT` | الـ Service ‏(NodePort) أو الـ Ingress لديك |
> | `SIBLING_CONTAINERS_ENABLED` | `SANDBOXED_COMPILES*` في الـ ConfigMap، ومقبس Docker في الـ Pod |
> | `GIT_BRIDGE_ENABLED` | [التكامل مع Git](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/integrations/git-integration.md) |
> | `MONGO_ENABLED`، `REDIS_ENABLED`، `MONGO_URL`، `REDIS_HOST` | الـ StatefulSets أو خدماتك المُدارة، و`OVERLEAF_MONGO_URL` و`OVERLEAF_REDIS_HOST` |
> | `REDIS_AOF_PERSISTENCE` | `--appendonly yes` في `20-redis.yaml` |
> | `NGINX_ENABLED`، `TLS_*` | الـ Ingress أو موازن الأحمال لديك |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.