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

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

Se você estiver usando o Docker Compose por meio de um `docker-compose.yml` arquivo, migrar para o Toolkit pode tornar mais fácil implantar, atualizar e manter uma versão local do Overleaf.

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

Este guia o conduzirá por cada etapa desse processo, garantindo uma migração tranquila 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_` o prefixo em vez de `OVERLEAF_`.
{% endhint %}

{% stepper %}
{% step %}

### Clone 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 Edição Comunitária.

O número de versão desejado do Server Pro/Edição Comunitária é definido no **config/version** arquivo. O Toolkit requer um número de versão específico como `4.2.3`. Se você estiver usando `mais recente`, você pode usar `bin/images` para encontrar o ID da imagem da sua `mais recente` versão local, depois use as notas de versão das 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 do seu próprio registro interno, você pode 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 do 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

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

```yaml
environment:
    OVERLEAF_APP_NAME: Edição Comunitária do Overleaf
    OVERLEAF_PROXY_LEARN: 'true'
    …
```

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

```env
OVERLEAF_APP_NAME=Edição Comunitária do Overleaf
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 ativar o Sandboxed Compiles, defina `SIBLING_CONTAINERS_ENABLED=true` no seu **config/overleaf.rc** no ficheiro.
* Variáveis que começam com `OVERLEAF_MONGO_`, `OVERLEAF_REDIS_` e o `REDIS_HOST` variável não é mais necessária. 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 do Toolkit relevante 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://overleaf-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.
