> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Migration de docker-compose.yml vers le Toolkit

> Migrez un déploiement Overleaf basé sur Docker Compose vers le Toolkit.

Si vous utilisez actuellement Docker Compose via un fichier `docker-compose.yml`, migrer vers le Toolkit peut rendre une version sur site d'Overleaf plus facile à déployer, à mettre à niveau et à maintenir.

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 accompagne à chaque étape de ce processus, pour une migration en douceur de Docker Compose vers le Toolkit.

<Info>
  Ces instructions concernent la v4.x et les versions antérieures. Toutes les variables utilisent donc le préfixe `SHARELATEX_` au lieu de `OVERLEAF_`.
</Info>

<Steps>
  <Step title="Cloner le dépôt du Toolkit">
    Commencez par cloner le dépôt du Toolkit sur la machine hôte :

    ```bash theme={null}
    git clone https://github.com/overleaf/toolkit.git ./overleaf-toolkit
    ```

    Exécutez ensuite la commande `bin/init` pour initialiser le Toolkit avec sa configuration par défaut.
  </Step>

  <Step title="Définir l'image et la version">
    Dans un `docker-compose.yml` typique, l'image et la version sont définies dans la description du composant, par exemple :

    ```yaml theme={null}
    version: '2.2'
    services:
        sharelatex:
            restart: always
            # Server Pro users:
            # image: quay.io/sharelatex/sharelatex-pro
            image: sharelatex/sharelatex:3.5.13
    ```

    Avec le Toolkit, le nom de l'image est résolu automatiquement ; il suffit de définir `SERVER_PRO=true` dans **config/overleaf.rc** pour choisir l'image Server Pro, ou `SERVER_PRO=false` pour utiliser Community Edition.

    Le numéro de version souhaité de Server Pro/Community Edition est défini dans le fichier **config/version**. Le Toolkit exige un numéro de version précis, comme `4.2.3`. Si vous utilisez `latest`, vous pouvez utiliser `bin/images` pour trouver l'identifiant de l'image de votre version `latest` locale, puis utiliser les notes de version 2.x.x, 3.x.x, 4.x.x ou 5.x.x pour faire correspondre cet identifiant à une 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`. Inutile de préciser le tag : le Toolkit l'ajoutera automatiquement en fonction de votre fichier **config/version**.
  </Step>

  <Step title="Configurer l'accès externe">
    Par défaut, Overleaf écoute 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 fichier [**config/overleaf.rc**](/fr/on-premises/configuration/overleaf-toolkit/environment-variables).
  </Step>

  <Step title="Migration des variables d'environnement">
    Vous avez probablement un ensemble de variables d'environnement définies dans le service `sharelatex` de votre `docker-compose.yml`, par exemple :

    ```yaml theme={null}
    environment:
        OVERLEAF_APP_NAME: Overleaf Community Edition
        OVERLEAF_PROXY_LEARN: 'true'
        …
    ```

    Copiez ces variables dans le fichier [**config/variables.env**](/fr/on-premises/configuration/overleaf-toolkit/environment-variables) du Toolkit en respectant la forme suivante (utilisez `=` au lieu de `:`) :

    ```env theme={null}
    OVERLEAF_APP_NAME=Overleaf Community Edition
    OVERLEAF_PROXY_LEARN=true
    ```

    Exceptions / différences avec le Toolkit :

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

    Pour les options de configuration avancées, consultez la documentation de [config/overleaf.rc](/fr/on-premises/configuration/overleaf-toolkit/environment-variables).
  </Step>

  <Step title="Proxy NGINX">
    Pour savoir comment migrer `nginx`, consultez la [documentation du proxy TLS](/fr/on-premises/configuration/overleaf-toolkit/tls-proxy) :
  </Step>

  <Step title="Volumes">
    Définissez l'emplacement 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`.

    #### MongoDB

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

    #### Redis

    Définissez `REDIS_DATA_PATH` sur l'emplacement du volume de données utilisé par le conteneur `redis`.
  </Step>
</Steps>

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


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.