> 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/manutencao/docker-compose.yml-to-toolkit-migration.md).

# Migração de docker-compose.yml para o Toolkit

Se você estiver usando atualmente o Docker Compose por meio de um `docker-compose.yml` arquivo, migrar para o Toolkit pode facilitar a implantação, atualização e manutenção de uma versão on-premises do Overleaf.

Para migrar, você precisará converter sua configuração existente do Docker Compose para o formato usado pelo Toolkit. Esse processo envolve copiar a configuração existente para o Toolkit.

Este guia o orientará em cada etapa desse processo, garantindo uma migração suave do Docker Compose para o Toolkit.

{% hint style="info" %}
Estas instruções são para a v4.x e anteriores. Portanto, todas as variáveis usam o `SHARELATEX_` prefixo em vez de `OVERLEAF_`.
{% endhint %}

{% stepper %}
{% step %}

### Clonar o repositório do Toolkit

Primeiro, clone o repositório do Toolkit para a máquina host:

```bash
git clone https://github.com/overleaf/toolkit.git ./overleaf-toolkit
```

Em seguida, execute o `bin/init` comando para inicializar o Toolkit com sua configuração padrão.
{% endstep %}

{% step %}

### Definindo a imagem e a versão

Em uma configuração típica `docker-compose.yml` a imagem e a versão são definidas na descrição do componente, por exemplo:

```yaml
version: '2.2'
services:
    sharelatex:
        restart: always
        # Usuários do Server Pro:
        # image: quay.io/sharelatex/sharelatex-pro
        image: sharelatex/sharelatex:3.5.13
```

Ao usar o Toolkit, o nome da imagem é resolvido automaticamente; o único requisito é definir `SERVER_PRO=true` em **config/overleaf.rc** para escolher a imagem do Server Pro ou `SERVER_PRO=false` para usar a Community Edition.

O número da versão desejada do Server Pro/Community Edition é definido no **config/version** arquivo. O Toolkit exige um número de versão específico como `4.2.3`. Se você estiver usando `latest`, você pode usar `bin/images` para encontrar o ID da imagem da sua `latest` versão local e, em seguida, use as notas de lançamento das versões 2.x.x, 3.x.x, 4.x.x ou 5.x.x para mapear o ID da imagem para a versão.

Se você estiver obtendo a imagem a partir do seu próprio registro interno, poderá substituir a imagem usada pelo Toolkit definindo `OVERLEAF_IMAGE_NAME`. Você não precisa especificar a tag, pois o Toolkit a adicionará automaticamente com base no seu **config/version** no ficheiro.
{% endstep %}

{% step %}

### Configurando o acesso externo

Por padrão, o Overleaf escutará em `127.0.0.1:80`, permitindo apenas tráfego da máquina host Docker.

Para permitir acesso externo, defina o `OVERLEAF_LISTEN_IP` e `OVERLEAF_PORT` no [**config/overleaf.rc**](/on-premises/pt/configuracao/overleaf-toolkit/environment-variables.md) no ficheiro.
{% endstep %}

{% step %}

### Migração de variáveis de ambiente

Você provavelmente terá um conjunto de variáveis de ambiente definidas no `sharelatex` serviço em seu `docker-compose.yml`, por exemplo:

```yaml
environment:
    OVERLEAF_APP_NAME: Overleaf Community Edition
    OVERLEAF_PROXY_LEARN: 'true'
    …
```

Copie essas variáveis para o [**config/variables.env**](broken://pages/bebd79526d51f42f281ec14e1abe014d835a8048) arquivo do Toolkit, garantindo a seguinte forma (use `=` em vez de `:`):

```env
OVERLEAF_APP_NAME=Overleaf Community Edition
OVERLEAF_PROXY_LEARN=true
```

Exceções/diferenças ao usar o Toolkit:

* Variáveis que começam com `SANDBOXED_COMPILES_` e `DOCKER_RUNNER` não são mais necessárias. Para habilitar Compilações com sandbox, defina `SIBLING_CONTAINERS_ENABLED=true` no seu **config/overleaf.rc** no ficheiro.
* Variáveis que começam com `OVERLEAF_MONGO_`, `OVERLEAF_REDIS_` como o `REDIS_HOST` variáveis não são mais necessárias. O MongoDB e o Redis agora são configurados no **config/overleaf.rc** arquivo usando `MONGO_URL`, `REDIS_HOST` e `REDIS_PORT`.

Para opções avançadas de configuração, consulte a [config/overleaf.rc](/on-premises/pt/configuracao/overleaf-toolkit/environment-variables.md) documentação.
{% endstep %}

{% step %}

### Proxy NGINX

Para instruções sobre como migrar `nginx`, consulte a [documentação do proxy TLS](/on-premises/pt/configuracao/overleaf-toolkit/tls-proxy.md):
{% endstep %}

{% step %}

### Volumes

Defina os locais dos volumes de dados em **config/overleaf.rc**:

#### ShareLaTeX

Defina o `OVERLEAF_DATA_PATH` para o local do volume de dados usado pelo `sharelatex` contentor.

#### MongoDB

Defina o `MONGO_DATA_PATH` para o local do volume de dados usado pelo `mongo` contentor.

#### Redis

Defina o `REDIS_DATA_PATH` para o local do volume de dados usado pelo `redis` contentor.
{% endstep %}
{% endstepper %}

Para mais detalhes e configuração avançada, consulte a documentação de configuração relevante do Toolkit vinculada acima.


---

# 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/manutencao/docker-compose.yml-to-toolkit-migration.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.
