> 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/it/configurazione/overleaf-toolkit/redis.md).

# Redis

### Abilitazione dell'autenticazione con password

Se stai usando un servizio Redis esterno e devi fornire una password, puoi farlo impostando le `OVERLEAF_REDIS_PASS` e `REDIS_PASSWORD` variabili d'ambiente nel **config/variables.env** file ed eseguendo il `bin/up -d` comando per ricreare i **sharelatex** contenitore.

Se stai eseguendo un'istanza locale di Redis, dovrai configurare il **redis** servizio affinché si avvii con l'autenticazione tramite password. Dopo aver impostato le variabili d'ambiente sopra, dovrai anche completare questi passaggi aggiuntivi:

Crea un **docker-compose.override.yml** file nella **config/** directory con il seguente contenuto:

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

```yaml
servizi:
    redis:
        comando: "redis-server --requirepass <YOUR-PASSWORD>"
```

{% endcode %}

{% hint style="warning" %}
Se hai la persistenza AOF abilitata, dovrai aggiungere `--appendonly yes` al `comando`.
{% endhint %}

Esegui `bin/up -d` per ricreare i container.

### Abilitazione della persistenza Append-Only File

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

La persistenza AOF (Append-Only File) di Redis offre un modo robusto per garantire la durabilità dei dati registrando ogni operazione di scrittura ricevuta dal server. A differenza delle istantanee RDB, che acquisiscono copie del dataset in un dato momento, AOF conserva un registro completo di tutte le modifiche apportate ai dati.

{% hint style="info" %}
La disabilitazione di RDB è facoltativa. In genere si consiglia di usare insieme entrambi i metodi di persistenza. Prima di apportare qualsiasi modifica in produzione, esamina i vantaggi e gli svantaggi dell'esecuzione congiunta di AOF e RDB.
{% endhint %}

Puoi leggere di più sull'abilitazione della persistenza AOF in Redis qui: <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. Pianifica una finestra di manutenzione per l'aggiornamento.
2. Arresta l'istanza usando `bin/stop` e crea un backup delle **config/** e **data/** cartelle.
3. Esegui `bin/up` per avviare l'istanza
4. Esegui il comando `docker exec -it redis sh`
5. Esegui il comando `redis-cli` per aprire l'interfaccia a riga di comando di Redis
6. Nel redis-cli, esegui il comando `config set appendonly yes`
7. Ora dovrai attendere che la riscrittura AOF finisca di salvare i dati. Puoi farlo digitando `INFO persistence` nel redis-cli e attendendo che `aof_rewrite_in_progress` e `aof_rewrite_scheduled` sia `0`, e verificando che `aof_last_bgrewrite_status` sia `ok`.
8. Esci dal redis-cli digitando `exit` e premendo il tasto Invio
9. Esci dal container Redis digitando `exit` e premendo il tasto Invio
10. Esegui il comando `ls ./data/redis` e verifica di poter vedere il **appendonly.aof** file
11. Modifica il **config/overleaf.rc** file e modifica la `REDIS_AOF_PERSISTENCE` variabile d'ambiente da `false` a `true`
12. Esegui `bin/up -d` e assicurati che l'applicazione funzioni (l'editor del progetto e il pannello della cronologia sono funzionanti).


---

# 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/it/configurazione/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.
