> 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/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, musisz skonfigurować **redis** usługę tak, aby uruchamiała się z uwierzytelnianiem hasłem. Po ustawieniu powyższych zmiennych środowiskowych musisz również wykonać te dodatkowe kroki:

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

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

```yaml
services:
    redis:
        polecenie: "redis-server --requirepass <TWOJE-HASŁO>"
```

{% endcode %}

{% hint style="warning" %}
Jeśli masz włączoną trwałość AOF, musisz dodać `--appendonly yes` na `polecenie`.
{% 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 utrzymania trwałości danych poprzez rejestrowanie każdej operacji zapisu otrzymanej przez serwer. W przeciwieństwie do migawek RDB, które tworzą kopie zbioru danych w określonym momencie, AOF przechowuje pełny zapis wszystkich zmian wprowadzonych do danych.

{% hint style="info" %}
Wyłączenie RDB jest opcjonalne. Zazwyczaj zaleca się używanie obu metod trwałości razem. Przed wprowadzeniem jakichkolwiek zmian w środowisku produkcyjnym przejrzyj zalety i wady jednoczesnego używania AOF i RDB.
{% 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. Zaplanuj okno serwisowe na czas aktualizacji.
2. Zatrzymaj instancję za pomocą `bin/stop` i wykonaj kopię zapasową **katalogu config/** i **data/** folderów.
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 musisz poczekać, aż ponowne zapisywanie 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ędzie `0`, oraz sprawdzając, czy `aof_last_bgrewrite_status` jest `ok`.
8. Wyjdź z 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` do `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://ayakaleaf-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.
