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

# Migrazione da docker-compose.yml al Toolkit

Se al momento stai usando Docker Compose tramite un `docker-compose.yml` file, la migrazione al Toolkit può rendere più facile distribuire, aggiornare e mantenere una versione on-premises di Overleaf.

Per migrare, dovrai convertire la tua attuale configurazione Docker Compose 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_` il 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 una tipica `docker-compose.yml` l'immagine e la versione sono definite nella descrizione del componente, ad esempio:

```yaml
version: '2.2'
services:
    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 scegliere l'immagine Server Pro oppure `SERVER_PRO=false` per usare 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 immagine della tua `latest` versione locale, quindi usa le note di rilascio per 2.x.x, 3.x.x, 4.x.x o 5.x.x per associare l'ID immagine alla versione.

Se stai prelevando l'immagine dal tuo registro interno puoi sovrascrivere l'immagine usata dal Toolkit impostando `OVERLEAF_IMAGE_NAME`. Non è necessario specificare il tag, poiché il Toolkit lo aggiungerà automaticamente in base al tuo **config/version** 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) 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`, per esempio:

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

Copia queste variabili nel [**config/variables.env**](broken://pages/099abc4cdcf99f423da228365f3af28ff3e50ddb) file del Toolkit, assicurandoti della 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 i compilatori sandboxed, imposta `SIBLING_CONTAINERS_ENABLED=true` nel tuo **config/overleaf.rc** file.
* Le variabili che iniziano con `OVERLEAF_MONGO_`, `OVERLEAF_REDIS_` sia il `REDIS_HOST` la variabile non è più necessaria. MongoDB e Redis sono ora configurati nel **config/overleaf.rc** file usando `MONGO_URL`, `REDIS_HOST` e `REDIS_PORT`.

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

{% step %}

### Proxy NGINX

Per istruzioni su come migrare `nginx`, vedi 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` sulla posizione del volume dati usato dal `sharelatex` container.

#### MongoDB

Imposta il `MONGO_DATA_PATH` sulla posizione del volume dati usato dal `mongo` container.

#### Redis

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

Per maggiori dettagli e configurazioni avanzate, 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://ayakaleaf-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.
