> 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/pt/configuracao/overleaf-toolkit/redis.md).

# Redis

### Ativando a autenticação por senha

Se estiver a usar um serviço Redis externo e precisar de fornecer uma palavra-passe, pode fazê-lo definindo as `OVERLEAF_REDIS_PASS` e `REDIS_PASSWORD` variáveis de ambiente no **config/variables.env** ficheiro e executando o `bin/up -d` comando para recriar os **sharelatex** contentor.

Se estiver a executar uma instância local do Redis, terá de configurar o **redis** serviço para iniciar com autenticação por palavra-passe. Depois de definir as variáveis de ambiente acima, também terá de concluir estes passos adicionais:

Crie um **docker-compose.override.yml** ficheiro no **config/** diretório com o seguinte conteúdo:

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

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

{% endcode %}

{% hint style="warning" %}
Se tiver a persistência AOF ativada, terá de adicionar `--appendonly yes` para o `comando`.
{% endhint %}

Execute `bin/up -d` para recriar os contentores.

### Ativando a Persistência de Ficheiro Apenas de Acréscimo

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

A persistência Redis AOF (Append-Only File) fornece uma forma robusta de garantir a durabilidade dos dados, registando cada operação de escrita recebida pelo servidor. Ao contrário dos instantâneos RDB, que fazem cópias pontuais do seu conjunto de dados, o AOF mantém um registo completo de todas as alterações feitas aos seus dados.

{% hint style="info" %}
Desativar o RDB é opcional. Geralmente recomenda-se que ambos os métodos de persistência sejam usados em conjunto. Antes de fazer quaisquer alterações em produção, reveja as vantagens e desvantagens de executar AOF e RDB em conjunto.
{% endhint %}

Pode ler mais sobre como ativar a persistência AOF no Redis aqui: <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. Agende uma janela de manutenção para a atualização.
2. Pare a instância usando `bin/stop` e faça uma cópia de segurança dos **config/** e **data/** pastas.
3. Execute `bin/up` para iniciar a instância
4. Execute o comando `docker exec -it redis sh`
5. Execute o comando `redis-cli` para abrir a interface de linha de comandos do Redis
6. No redis-cli, execute o comando `config set appendonly yes`
7. Agora terá de aguardar até que a reescrita do AOF termine de persistir os dados. Pode fazer isso escrevendo `INFO persistence` no redis-cli e aguardando por `aof_rewrite_in_progress` e `aof_rewrite_scheduled` estar `0`, e validando que `aof_last_bgrewrite_status` é `ok`.
8. Saia do redis-cli escrevendo `exit` e premindo a tecla Enter
9. Saia do contentor Redis escrevendo `exit` e premindo a tecla Enter
10. Execute o comando `ls ./data/redis` e confirme que consegue ver o **appendonly.aof** ficheiro
11. Edite o **config/overleaf.rc** ficheiro e altere a `REDIS_AOF_PERSISTENCE` variável de ambiente de `false` para `true`
12. Execute `bin/up -d` e certifique-se de que a aplicação funciona (o editor do projeto e o painel de histórico estão funcionais).


---

# 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/pt/configuracao/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.
