> 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/pl/konfiguracja/overleaf-toolkit/redis.md).

# Redis

### Włączanie uwierzytelniania hasłem

Jeśli korzystasz z zewnętrznej usługi Redis i musisz podać hasło, możesz to zrobić, ustawiając `OVERLEAF_REDIS_PASS` i `REDIS_PASSWORD` zmienne środowiskowe w **config/variables.env** pliku i uruchamiając `bin/up -d` polecenie, aby odtworzyć **sharelatex** kontenerze.

Jeśli uruchamiasz lokalną instancję Redis, będziesz musiał skonfigurować **redis** usługę tak, aby uruchamiała się z uwierzytelnianiem hasłem. Po ustawieniu powyższych zmiennych środowiskowych będziesz także musiał wykonać następujące dodatkowe kroki:

Utwórz **docker-compose.override.yml** plik w **katalogu config/** z następującą zawartością:

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

```yaml
services:
    redis:
        command: "redis-server --requirepass <YOUR-PASSWORD>"
```

{% endcode %}

{% hint style="warning" %}
Jeśli masz włączoną trwałość AOF, będziesz musiał dodać `--appendonly yes` do `polecenia`.
{% endhint %}

Uruchom `bin/up -d` aby odtworzyć kontenery.

### Włączanie trwałości Append-Only File

(Oryginał: <https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/redis#enabling-append-only-file-persistence>)

Trwałość Redis AOF (Append-Only File) zapewnia solidny sposób na zagwarantowanie trwałości danych poprzez rejestrowanie każdej operacji zapisu otrzymanej przez serwer. W przeciwieństwie do migawek RDB, które tworzą kopie danych z danego momentu, AOF przechowuje pełny zapis wszystkich zmian wprowadzonych w danych.

{% hint style="info" %}
Wyłączenie RDB jest opcjonalne. Zazwyczaj zaleca się używanie obu metod trwałości razem. Zanim wprowadzisz jakiekolwiek zmiany w środowisku produkcyjnym, przejrzyj zalety i wady uruchamiania AOF i RDB razem.
{% endhint %}

Więcej informacji o włączaniu trwałości AOF w Redisie znajdziesz tutaj: <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. Zaplanować okno serwisowe na potrzeby aktualizacji.
2. Zatrzymaj instancję, używając `bin/stop` i wykonaj kopię zapasową **katalogu config/** i **folderów data/** .
3. Uruchom `bin/up` aby uruchomić instancję
4. Uruchom polecenie `docker exec -it redis sh`
5. Uruchom polecenie `redis-cli` aby otworzyć interfejs wiersza poleceń Redis
6. W redis-cli uruchom polecenie `config set appendonly yes`
7. Teraz będziesz musiał poczekać, aż przepisanie AOF zakończy utrwalanie danych. Możesz to zrobić, wpisując `INFO persistence` w redis-cli i czekając, aż `aof_rewrite_in_progress` i `aof_rewrite_scheduled` będą `0`, oraz sprawdzając, czy `aof_last_bgrewrite_status` ma wartość `ok`.
8. Zakończ pracę w redis-cli, wpisując `exit` i naciskając klawisz Enter
9. Wyjdź z kontenera redis, wpisując `exit` i naciskając klawisz Enter
10. Uruchom polecenie `ls ./data/redis` i potwierdź, że widzisz **appendonly.aof** plik
11. Edytuj **config/overleaf.rc** plik i zmień `REDIS_AOF_PERSISTENCE` zmienną środowiskową z `false` na `true`
12. Uruchom `bin/up -d` i upewnij się, że aplikacja działa (edytor projektu i panel historii działają poprawnie).


---

# 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/pl/konfiguracja/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.
