> For the complete documentation index, see [llms.txt](https://overleaf-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://overleaf-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://overleaf-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.
