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

# Migrazione da docker-compose.yml al Toolkit

Se stai attualmente utilizzando Docker Compose tramite un `docker-compose.yml` file, la migrazione al Toolkit può rendere più semplice da distribuire, aggiornare e mantenere l'esecuzione di una versione on-premise di Overleaf.

Per migrare, dovrai convertire la tua configurazione Docker Compose esistente nel formato usato dal Toolkit. Questo processo comporta la copia della configurazione esistente nel Toolkit.

Questa guida ti accompagnerà in ogni fase di questo processo, garantendo una migrazione fluida da Docker Compose al Toolkit.

{% hint style="info" %}
Queste istruzioni sono per la v4.x e precedenti. Pertanto tutte le variabili usano il `SHARELATEX_` prefisso invece di `OVERLEAF_`.
{% endhint %}

{% stepper %}
{% step %}

### Clona il repository del Toolkit

Per prima cosa, clona il repository del Toolkit sulla macchina host:

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

Poi esegui il `bin/init` comando per inizializzare il Toolkit con la sua configurazione predefinita.
{% endstep %}

{% step %}

### Impostazione dell'immagine e della versione

In un tipico `docker-compose.yml` l'immagine e la versione sono definite nella descrizione del componente, ad esempio:

```yaml
version: '2.2'
servizi:
    sharelatex:
        restart: always
        # Utenti Server Pro:
        # image: quay.io/sharelatex/sharelatex-pro
        image: sharelatex/sharelatex:3.5.13
```

Quando si usa il Toolkit, il nome dell'immagine viene risolto automaticamente; l'unico requisito è impostare `SERVER_PRO=true` in **config/overleaf.rc** per selezionare l'immagine Server Pro oppure `SERVER_PRO=false` per usare la Community Edition.

Il numero di versione desiderato di Server Pro/Community Edition è impostato nel **config/version** file. Il Toolkit richiede un numero di versione specifico come `4.2.3`. Se stai usando `latest`, puoi usare `bin/images` per trovare l'ID dell'immagine della tua locale `latest` versione, quindi usa le note di rilascio per 2.x.x, 3.x.x, 4.x.x o 5.x.x per associare l'ID dell'immagine alla versione.

Se stai ottenendo l'immagine dal tuo registro interno, puoi sovrascrivere l'immagine usata dal Toolkit impostando `OVERLEAF_IMAGE_NAME`. Non è necessario specificare il tag perché il Toolkit lo aggiungerà automaticamente in base al tuo **config/version** nel file.
{% endstep %}

{% step %}

### Configurazione dell'accesso esterno

Per impostazione predefinita, Overleaf ascolterà su `127.0.0.1:80`, consentendo il traffico solo dalla macchina host Docker.

Per consentire l'accesso esterno, imposta il `OVERLEAF_LISTEN_IP` e `OVERLEAF_PORT` nel [**config/overleaf.rc**](/on-premises/it/configurazione/overleaf-toolkit/environment-variables.md) nel file.
{% endstep %}

{% step %}

### Migrazione delle variabili d'ambiente

Probabilmente avrai un insieme di variabili d'ambiente definite nel `sharelatex` servizio nel tuo `docker-compose.yml`, ad esempio:

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

Copia queste variabili nel file del Toolkit, [**config/variables.env**](broken://pages/099abc4cdcf99f423da228365f3af28ff3e50ddb) file, assicurandoti che abbiano la seguente forma (usa `=` invece di `:`):

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

Eccezioni / differenze quando si usa il Toolkit:

* Le variabili che iniziano con `SANDBOXED_COMPILES_` e `DOCKER_RUNNER` non sono più necessarie. Per abilitare Sandboxed Compiles, imposta `SIBLING_CONTAINERS_ENABLED=true` nel tuo **config/overleaf.rc** nel file.
* Le variabili che iniziano con `OVERLEAF_MONGO_`, `OVERLEAF_REDIS_` che il `REDIS_HOST` variabile non sono più necessarie. MongoDB e Redis sono ora configurati nel **config/overleaf.rc** file usando `MONGO_URL`, `REDIS_HOST` e `REDIS_PORT`.

Per le opzioni di configurazione avanzate, consulta la [config/overleaf.rc](/on-premises/it/configurazione/overleaf-toolkit/environment-variables.md) documentazione.
{% endstep %}

{% step %}

### Proxy NGINX

Per istruzioni su come migrare `nginx`, consulta la [documentazione del proxy TLS](/on-premises/it/configurazione/overleaf-toolkit/tls-proxy.md):
{% endstep %}

{% step %}

### Volumi

Imposta le posizioni dei volumi dati in **config/overleaf.rc**:

#### ShareLaTeX

Imposta il `OVERLEAF_DATA_PATH` alla posizione del volume dati usato dal `sharelatex` contenitore.

#### MongoDB

Imposta il `MONGO_DATA_PATH` alla posizione del volume dati usato dal `mongo` contenitore.

#### Redis

Imposta il `REDIS_DATA_PATH` alla posizione del volume dati usato dal `redis` contenitore.
{% endstep %}
{% endstepper %}

Per ulteriori dettagli e configurazione avanzata, consulta la documentazione di configurazione del Toolkit pertinente collegata sopra.


---

# 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/manutenzione/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.
