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

# Migration de docker-compose.yml vers 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 à chaque étape de ce processus, afin d'assurer une migration fluide de Docker Compose vers le Toolkit.

{% hint style="info" %}
Ces instructions concernent la v4.x et les versions antérieures. Par conséquent, toutes les variables utilisent le `SHARELATEX_` 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
```

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

{% step %}

### Définition de l'image et de la version

Dans un `docker-compose.yml` cas typique, 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
```

Lorsque vous utilisez le 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 sélectionner l'image Server Pro ou `SERVER_PRO=false` pour utiliser la Community Edition.

Le numéro de version souhaité de Server Pro/Community Edition est défini dans le **config/version** fichier. Le Toolkit requiert 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 des 2.x.x, 3.x.x, 4.x.x ou 5.x.x pour 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** fichier.
{% endstep %}

{% step %}

### Configuration de l'accès externe

Par défaut, Overleaf écoutera sur `127.0.0.1:80`, n'autorisant le trafic qu'en provenance 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) fichier.
{% endstep %}

{% step %}

### Migration des variables d'environnement

Vous avez probablement un ensemble de variables d'environnement définies dans le `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 à respecter 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** fichier.
* Les variables commençant par `OVERLEAF_MONGO_`, `OVERLEAF_REDIS_` et le `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, reportez-vous à la [config/overleaf.rc](/on-premises/fr/configuration/overleaf-toolkit/environment-variables.md) documentation.
{% endstep %}

{% step %}

### Proxy NGINX

Pour des instructions sur la manière 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 `variable d’environnement OVERLEAF_DATA_PATH` à l'emplacement du volume de données utilisé par le `sharelatex` .

#### MongoDB

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

#### Redis

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

Pour plus de détails et une configuration avancée, consultez la documentation de configuration du Toolkit pertinente 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://ayakaleaf-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.
