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

# Migración de docker-compose.yml al Kit de herramientas

Si actualmente usas Docker Compose mediante un `docker-compose.yml` archivo, migrar al Toolkit puede facilitar el despliegue, la actualización y el mantenimiento de una versión local de Overleaf.

Para migrar, tendrás que convertir tu configuración existente de Docker Compose al formato usado por el Toolkit. Este proceso implica copiar la configuración existente al Toolkit.

Esta guía te guiará por cada paso de este proceso, garantizando una migración fluida de Docker Compose al Toolkit.

{% hint style="info" %}
Estas instrucciones son para v4.x y anteriores. Por lo tanto, todas las variables usan el `SHARELATEX_` prefijo en lugar de `OVERLEAF_`.
{% endhint %}

{% stepper %}
{% step %}

### Clona el repositorio del Toolkit

Primero, clona el repositorio del Toolkit en la máquina anfitriona:

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

Después ejecuta el `bin/init` comando para inicializar el Toolkit con su configuración predeterminada.
{% endstep %}

{% step %}

### Configuración de la imagen y la versión

En un `docker-compose.yml` la imagen y la versión se definen en la descripción del componente, por ejemplo:

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

Cuando uses el Toolkit, el nombre de la imagen se resuelve automáticamente; el único requisito es configurar `SERVER_PRO=true` en **config/overleaf.rc** para elegir la imagen de Server Pro o `SERVER_PRO=false` para usar Community Edition.

El número de versión deseado de Server Pro/Community Edition se establece en el **config/version** archivo. El Toolkit requiere un número de versión específico como `4.2.3`. Si estás usando `latest`, puedes usar `bin/images` para encontrar el ID de imagen de tu `latest` versión local; luego usa las notas de la versión de 2.x.x, 3.x.x, 4.x.x o 5.x.x para relacionar el ID de imagen con la versión.

Si obtienes la imagen desde tu propio registro interno, puedes reemplazar la imagen que usa el Toolkit configurando `OVERLEAF_IMAGE_NAME`. No necesitas especificar la etiqueta, ya que el Toolkit la añadirá automáticamente según tu **config/version** en el archivo.
{% endstep %}

{% step %}

### Configuración del acceso externo

De forma predeterminada, Overleaf escuchará en `127.0.0.1:80`, permitiendo solo tráfico desde la máquina anfitriona de Docker.

Para permitir el acceso externo, establece `OVERLEAF_LISTEN_IP` y `OVERLEAF_PORT` en el [**config/overleaf.rc**](/on-premises/es/configuracion/overleaf-toolkit/environment-variables.md) en el archivo.
{% endstep %}

{% step %}

### Migración de variables de entorno

Probablemente tendrás un conjunto de variables de entorno definidas en el `sharelatex` servicio en tu `docker-compose.yml`, por ejemplo:

```yaml
environment:
    OVERLEAF_APP_NAME: Edición Community de Overleaf
    OVERLEAF_PROXY_LEARN: 'true'
    …
```

Copia estas variables en el [**config/variables.env**](broken://pages/8fb72e269ed6d7f1914fe9caa3472414c7e140c7) archivo del Toolkit, asegurando la siguiente forma (usa `=` en lugar de `:`):

```env
OVERLEAF_APP_NAME=Edición Community de Overleaf
OVERLEAF_PROXY_LEARN=true
```

Excepciones / diferencias al usar el Toolkit:

* Las variables que comienzan con `SANDBOXED_COMPILES_` y `DOCKER_RUNNER` ya no son necesarias. Para habilitar las compilaciones en sandbox, establece `SIBLING_CONTAINERS_ENABLED=true` en tu **config/overleaf.rc** en el archivo.
* Las variables que comienzan con `OVERLEAF_MONGO_`, `OVERLEAF_REDIS_` y el `REDIS_HOST` ya no son necesarias. MongoDB y Redis ahora se configuran en el **config/overleaf.rc** archivo usando `MONGO_URL`, `REDIS_HOST` y `REDIS_PORT`.

Para opciones de configuración avanzadas, consulta la [config/overleaf.rc](/on-premises/es/configuracion/overleaf-toolkit/environment-variables.md) documentación.
{% endstep %}

{% step %}

### Proxy de NGINX

Para obtener instrucciones sobre cómo migrar `nginx`, consulta la [documentación del proxy TLS](/on-premises/es/configuracion/overleaf-toolkit/tls-proxy.md):
{% endstep %}

{% step %}

### Volúmenes

Establece las ubicaciones de los volúmenes de datos en **config/overleaf.rc**:

#### ShareLaTeX

Establece `OVERLEAF_DATA_PATH` a la ubicación del volumen de datos usado por el `sharelatex` contenedor.

#### MongoDB

Establece `MONGO_DATA_PATH` a la ubicación del volumen de datos usado por el `mongo` contenedor.

#### Redis

Establece `REDIS_DATA_PATH` a la ubicación del volumen de datos usado por el `redis` contenedor.
{% endstep %}
{% endstepper %}

Para más detalles y configuración avanzada, consulta la documentación de configuración del Toolkit enlazada arriba.


---

# 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/es/mantenimiento/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.
