> For the complete documentation index, see [llms.txt](https://ayakaleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ayakaleaf-pro.ayaka.space/on-premises/ru/konfiguraciya/overleaf-toolkit/redis.md).

# Redis

### Включение аутентификации по паролю

Если вы используете внешний сервис Redis и вам нужно указать пароль, вы можете сделать это, установив `OVERLEAF_REDIS_PASS` и `REDIS_PASSWORD` переменные окружения в **config/variables.env** файл и выполнив `bin/up -d` команду для пересоздания **контейнера sharelatex** контейнера.

Если вы запускаете локальный экземпляр Redis, вам нужно настроить **redis** службу так, чтобы она запускалась с аутентификацией по паролю. После установки указанных выше переменных окружения вам также нужно выполнить следующие дополнительные шаги:

Создайте **docker-compose.override.yml** файл в **config/** каталоге со следующим содержимым:

{% code title="config/docker-compose.override.yml" %}

```yaml
services:
    redis:
        команда: "redis-server --requirepass <YOUR-PASSWORD>"
```

{% endcode %}

{% hint style="warning" %}
Если у вас включена постоянная запись AOF, вам нужно добавить `--appendonly yes` в `команду`.
{% endhint %}

Выполните `bin/up -d` чтобы пересоздать контейнеры.

### Включение постоянного хранения Append-Only File

(Оригинал: <https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/redis#enabling-append-only-file-persistence>)

Постоянное хранение Redis AOF (Append-Only File) обеспечивает надежный способ гарантировать сохранность данных, записывая каждую операцию записи, полученную сервером. В отличие от снимков RDB, которые создают копии набора данных на определенный момент времени, AOF хранит полную запись всех изменений, внесенных в ваши данные.

{% hint style="info" %}
Отключение RDB необязательно. Обычно рекомендуется использовать оба метода постоянного хранения вместе. Прежде чем вносить какие-либо изменения в рабочей среде, изучите преимущества и недостатки совместного использования AOF и RDB.
{% endhint %}

Подробнее о включении постоянного хранения 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>

1. Запланируйте окно обслуживания для обновления.
2. Остановите экземпляр с помощью `bin/stop` и сделайте резервную копию **config/** и **data/** папок.
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` и нажав клавишу Enter
9. Выйдите из контейнера redis, введя `exit` и нажав клавишу Enter
10. Выполните команду `ls ./data/redis` и убедитесь, что вы видите **appendonly.aof** файл
11. Отредактируйте **config/overleaf.rc** файл и измените `REDIS_AOF_PERSISTENCE` переменную окружения с `false` с `true`
12. Выполните `bin/up -d` и убедитесь, что приложение работает (редактор проекта и панель истории функционируют).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ayakaleaf-pro.ayaka.space/on-premises/ru/konfiguraciya/overleaf-toolkit/redis.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
