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

# Migración de docker-compose.yml a Toolkit

Si actualmente usas Docker Compose mediante un `docker-compose.yml` archivo, migrar al Toolkit puede hacer que ejecutar una versión local de Overleaf sea más fácil de desplegar, actualizar y mantener.

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
```

A continuación, 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` típico, 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
```

Al usar el Toolkit, el nombre de la imagen se resuelve automáticamente; el único requisito es establecer `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 local `latest` versión, luego usa las notas de la versión de 2.x.x, 3.x.x, 4.x.x o 5.x.x para mapear el ID de imagen a la versión.

Si obtienes la imagen desde tu propio registro interno, puedes sobrescribir la imagen que usa el Toolkit estableciendo `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 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
entorno:
    OVERLEAF_APP_NAME: Overleaf Community Edition
    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=Overleaf Community Edition
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 Sandboxed Compiles, establece `SIBLING_CONTAINERS_ENABLED=true` en tu **config/overleaf.rc** en el archivo.
* Las variables que comienzan con `OVERLEAF_MONGO_`, `OVERLEAF_REDIS_` como el `REDIS_HOST` las variables 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 avanzadas de configuración, consulta la [config/overleaf.rc](/on-premises/es/configuracion/overleaf-toolkit/environment-variables.md) documentación.
{% endstep %}

{% step %}

### Proxy NGINX

Para 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 el `OVERLEAF_DATA_PATH` en la ubicación del volumen de datos usado por el `sharelatex` contenedor.

#### MongoDB

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

#### Redis

Establece el `REDIS_DATA_PATH` en 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 relevante 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://overleaf-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.
