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

# Migration de docker-compose.yml vers le Toolkit

Si vous utilisez actuellement Docker Compose via un `docker-compose.yml` fichier, la migration vers le Toolkit peut faciliter le déploiement, la mise à niveau et la maintenance d'une version sur site d'Overleaf.

Pour migrer, vous devrez convertir votre configuration Docker Compose existante au format utilisé par le Toolkit. Ce processus consiste à copier la configuration existante dans le Toolkit.

Ce guide vous accompagnera à travers chaque étape de ce processus, en garantissant une migration fluide de Docker Compose vers le Toolkit.

{% hint style="info" %}
Ces instructions concernent la version v4.x et antérieures. Par conséquent, toutes les variables utilisent le `SHARELATEX_` le préfixe au lieu de `OVERLEAF_`.
{% endhint %}

{% stepper %}
{% step %}

### Cloner le dépôt du Toolkit

Commencez par cloner le dépôt du Toolkit sur la machine hôte :

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

Exécutez ensuite la `bin/init` commande pour initialiser le Toolkit avec sa configuration par défaut.
{% endstep %}

{% step %}

### Définir l'image et la version

Dans un fichier Docker Compose typique, `docker-compose.yml` l'image et la version sont définies dans la description du composant, par exemple :

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

Lors de l'utilisation du Toolkit, le nom de l'image est résolu automatiquement ; la seule exigence est de définir `SERVER_PRO=true` dans **config/overleaf.rc** pour choisir l'image Server Pro ou `SERVER_PRO=false` pour utiliser l'édition Community.

Le numéro de version souhaité pour Server Pro / Community Edition est défini dans le **config/version** fichier. Le Toolkit nécessite un numéro de version spécifique comme `4.2.3`. Si vous utilisez `latest`, vous pouvez utiliser `bin/images` pour trouver l'identifiant d'image de votre `latest` version locale, puis utilisez les notes de version pour 2.x.x, 3.x.x, 4.x.x ou 5.x.x afin de faire correspondre l'identifiant d'image à la version.

Si vous récupérez l'image depuis votre propre registre interne, vous pouvez remplacer l'image utilisée par le Toolkit en définissant `OVERLEAF_IMAGE_NAME`. Vous n'avez pas besoin de spécifier le tag, car le Toolkit l'ajoutera automatiquement en fonction de votre **config/version** dans le fichier.
{% endstep %}

{% step %}

### Configuration de l'accès externe

Par défaut, Overleaf écoutera sur `127.0.0.1:80`, n'autorisant que le trafic provenant de la machine hôte Docker.

Pour autoriser l'accès externe, définissez `OVERLEAF_LISTEN_IP` et `OVERLEAF_PORT` dans le [**config/overleaf.rc**](/on-premises/fr/configuration/overleaf-toolkit/environment-variables.md) dans le fichier.
{% endstep %}

{% step %}

### Migration des variables d'environnement

Vous aurez probablement un ensemble de variables d'environnement définies dans le `conteneur sharelatex.` service dans votre `docker-compose.yml`, par exemple :

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

Copiez ces variables dans le [**config/variables.env**](broken://pages/041c64a7cf3d677e6f9e23dfacc6cd3a17fc6d53) fichier du Toolkit, en veillant à la forme suivante (utilisez `=` au lieu de `:`):

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

Exceptions / différences lors de l'utilisation du Toolkit :

* Les variables commençant par `SANDBOXED_COMPILES_` et `DOCKER_RUNNER` ne sont plus nécessaires. Pour activer Sandboxed Compiles, définissez `SIBLING_CONTAINERS_ENABLED=true` dans votre **config/overleaf.rc** dans le fichier.
* Les variables commençant par `OVERLEAF_MONGO_`, `OVERLEAF_REDIS_` et `REDIS_HOST` variable ne sont plus nécessaires. MongoDB et Redis sont désormais configurés dans le **config/overleaf.rc** fichier à l'aide de `MONGO_URL`, `REDIS_HOST` et `REDIS_PORT`.

Pour les options de configuration avancées, consultez la [config/overleaf.rc](/on-premises/fr/configuration/overleaf-toolkit/environment-variables.md) documentation.
{% endstep %}

{% step %}

### Proxy NGINX

Pour obtenir des instructions sur la façon de migrer `nginx`, consultez la [documentation du proxy TLS](/on-premises/fr/configuration/overleaf-toolkit/tls-proxy.md):
{% endstep %}

{% step %}

### Volumes

Définissez les emplacements des volumes de données dans **config/overleaf.rc**:

#### ShareLaTeX

Définissez `OVERLEAF_DATA_PATH` sur l'emplacement du volume de données utilisé par le `conteneur sharelatex.` conteneur.

#### MongoDB

Définissez `MONGO_DATA_PATH` sur l'emplacement du volume de données utilisé par le `mongo` conteneur.

#### Redis

Définissez `REDIS_DATA_PATH` sur l'emplacement du volume de données utilisé par le `redis` conteneur.
{% endstep %}
{% endstepper %}

Pour plus de détails et une configuration avancée, consultez la documentation de configuration du Toolkit appropriée liée ci-dessus.


---

# 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/fr/maintenance/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.
