> ## 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.

# Redis

### تفعيل المصادقة بكلمة مرور

إذا كنت تستخدم خدمة Redis خارجية وتحتاج إلى توفير كلمة مرور، فيمكنك ذلك عبر ضبط متغيري البيئة `OVERLEAF_REDIS_PASS` و`REDIS_PASSWORD` في الملف **config/variables.env** ثم تشغيل الأمر `bin/up -d` لإعادة إنشاء الحاوية **sharelatex**.

أما إذا كنت تشغّل مثيلًا محليًا من Redis، فستحتاج إلى تهيئة الخدمة **redis** لتبدأ مع المصادقة بكلمة مرور. وبعد ضبط متغيرات البيئة المذكورة أعلاه، ستحتاج أيضًا إلى إكمال هذه الخطوات الإضافية:

أنشئ ملفًا باسم **docker-compose.override.yml** في المجلد <strong>config/</strong> بالمحتوى التالي:

```yaml title="config/docker-compose.override.yml" theme={null}
services:
    redis:
        command: "redis-server --requirepass <YOUR-PASSWORD>"
```

<Warning>
  إذا كان استمرار AOF مفعّلًا لديك، فستحتاج إلى إضافة `--appendonly yes` إلى `command`.
</Warning>

شغّل `bin/up -d` لإعادة إنشاء الحاويات.

### تفعيل استمرار البيانات عبر ملف الإلحاق فقط (Append-Only File)

(الأصل: [https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/redis#enabling-append-only-file-persistence](https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/redis#enabling-append-only-file-persistence))

يوفر استمرار AOF (Append-Only File) في Redis طريقة موثوقة لضمان ديمومة البيانات من خلال تسجيل كل عملية كتابة يتلقاها الخادم. وعلى خلاف لقطات RDB التي تأخذ نسخًا من مجموعة بياناتك في لحظة زمنية محددة، يحتفظ AOF بسجل كامل لجميع التغييرات التي تطرأ على بياناتك.

<Info>
  تعطيل RDB أمر اختياري. ويُوصى عمومًا باستخدام طريقتي الاستمرار معًا. وقبل إجراء أي تغييرات في بيئة الإنتاج، راجع مزايا وعيوب تشغيل AOF وRDB معًا.
</Info>

يمكنك قراءة المزيد حول تفعيل استمرار AOF في Redis هنا: [https://redis.io/docs/latest/operate/oss\_and\_stack/management/persistence/#how-i-can-switch-to-aof-if-im-currently-using-dumprdb-snapshotsarrow-up-right](https://redis.io/docs/latest/operate/oss_and_stack/management/persistence/#how-i-can-switch-to-aof-if-im-currently-using-dumprdb-snapshotsarrow-up-right)

1. حدّد نافذة صيانة لعملية الترقية.
2. أوقف المثيل باستخدام `bin/stop` وخذ نسخة احتياطية من المجلدين <strong>config/</strong> و<strong>data/</strong>.
3. شغّل `bin/up` لبدء المثيل
4. شغّل الأمر `docker exec -it redis sh`
5. شغّل الأمر `redis-cli` لفتح واجهة سطر أوامر Redis
6. في redis-cli، شغّل الأمر `config set appendonly yes`
7. ستحتاج الآن إلى انتظار انتهاء إعادة كتابة AOF من حفظ البيانات. ويمكنك ذلك بكتابة `INFO persistence` في redis-cli والانتظار حتى تصبح قيمتا `aof_rewrite_in_progress` و`aof_rewrite_scheduled` مساويتين لـ `0`، والتحقق من أن قيمة `aof_last_bgrewrite_status` هي `ok`.
8. اخرج من redis-cli بكتابة `exit` والضغط على مفتاح الإدخال
9. اخرج من حاوية redis بكتابة `exit` والضغط على مفتاح الإدخال
10. شغّل الأمر `ls ./data/redis` وتأكد من أنك ترى الملف **appendonly.aof**
11. حرّر الملف **config/overleaf.rc** وغيّر قيمة متغير البيئة `REDIS_AOF_PERSISTENCE` من `false` إلى `true`
12. شغّل `bin/up -d` وتأكد من أن التطبيق يعمل (أي أن محرر المشاريع ولوحة السجل يعملان).


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