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

# Міграція з docker-compose.yml на Toolkit

Якщо ви наразі використовуєте Docker Compose через `docker-compose.yml` файл, міграція до Toolkit може спростити розгортання, оновлення та підтримку локальної версії Overleaf.

Щоб виконати міграцію, вам потрібно буде перетворити наявну конфігурацію Docker Compose у формат, який використовує Toolkit. Цей процес передбачає копіювання наявної конфігурації до Toolkit.

Цей посібник проведе вас через кожен крок цього процесу, забезпечуючи безперебійну міграцію з Docker Compose до Toolkit.

{% hint style="info" %}
Ці інструкції призначені для v4.x і раніших версій. Тому всі змінні використовують `SHARELATEX_` префікс замість `OVERLEAF_`.
{% endhint %}

{% stepper %}
{% step %}

### Клонуйте репозиторій Toolkit

Спершу клонуйте репозиторій Toolkit на хост-машину:

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

Далі запустіть `bin/init` команду, щоб ініціалізувати Toolkit із його типовою конфігурацією.
{% endstep %}

{% step %}

### Налаштування образу та версії

У типовому `docker-compose.yml` образ і версія визначаються в описі компонента, наприклад:

```yaml
version: '2.2'
services:
    sharelatex:
        restart: завжди
        # Для користувачів Server Pro:
        # image: quay.io/sharelatex/sharelatex-pro
        image: sharelatex/sharelatex:3.5.13
```

Під час використання Toolkit назва образу визначається автоматично; єдина вимога — встановити `SERVER_PRO=true` у **config/overleaf.rc** щоб вибрати образ Server Pro або `SERVER_PRO=false` щоб використовувати Community Edition.

Потрібний номер версії Server Pro/Community Edition задається у **config/version** файлі. Toolkit вимагає конкретний номер версії, наприклад `4.2.3`. Якщо ви використовуєте `latest`, ви можете використовувати `bin/images` щоб знайти ідентифікатор образу вашої локальної `latest` версії, а потім використати примітки до випусків для 2.x.x, 3.x.x, 4.x.x або 5.x.x, щоб зіставити ідентифікатор образу з версією.

Якщо ви отримуєте образ зі свого внутрішнього реєстру, ви можете перевизначити образ, який використовує Toolkit, задавши `OVERLEAF_IMAGE_NAME`. Вам не потрібно вказувати тег, оскільки Toolkit автоматично додасть його на основі вашої **config/version** у файлі.
{% endstep %}

{% step %}

### Налаштування зовнішнього доступу

За замовчуванням Overleaf слухатиме на `127.0.0.1:80`, дозволяючи трафік лише з хост-машини Docker.

Щоб дозволити зовнішній доступ, встановіть `OVERLEAF_LISTEN_IP` та `OVERLEAF_PORT` у [**config/overleaf.rc**](/on-premises/uk/konfiguraciya/overleaf-toolkit/environment-variables.md) у файлі.
{% endstep %}

{% step %}

### Міграція змінних середовища

Ймовірно, у вас є набір змінних середовища, визначених у `sharelatex` сервісі у вашому `docker-compose.yml`, наприклад:

```yaml
environment:
    OVERLEAF_APP_NAME: Спільнотна версія Overleaf
    OVERLEAF_PROXY_LEARN: 'true'
    …
```

Скопіюйте ці змінні до [**config/variables.env**](broken://pages/2db6c85df4994d46e27a99e0d121414d97e0f879) файлу Toolkit, дотримуючись такого формату (використовуйте `=` замість `:`):

```env
OVERLEAF_APP_NAME=Спільнотна версія Overleaf
OVERLEAF_PROXY_LEARN=true
```

Винятки / відмінності під час використання Toolkit:

* Змінні, що починаються з `SANDBOXED_COMPILES_` та `DOCKER_RUNNER` більше не потрібні. Щоб увімкнути Sandboxed Compiles, встановіть `SIBLING_CONTAINERS_ENABLED=true` у вашому **config/overleaf.rc** у файлі.
* Змінні, що починаються з `OVERLEAF_MONGO_`, `OVERLEAF_REDIS_` та `REDIS_HOST` змінна більше не потрібна. MongoDB і Redis тепер налаштовуються у **config/overleaf.rc** файлі за допомогою `MONGO_URL`, `REDIS_HOST` та `REDIS_PORT`.

Для розширених параметрів конфігурації зверніться до [config/overleaf.rc](/on-premises/uk/konfiguraciya/overleaf-toolkit/environment-variables.md) документації.
{% endstep %}

{% step %}

### Проксі NGINX

Для інструкцій щодо міграції `nginx`, дивіться [документацію TLS Proxy](/on-premises/uk/konfiguraciya/overleaf-toolkit/tls-proxy.md):
{% endstep %}

{% step %}

### Томи

Вкажіть розташування томів даних у **config/overleaf.rc**:

#### ShareLaTeX

Встановіть `OVERLEAF_DATA_PATH` до розташування тому даних, який використовується `sharelatex` контейнера.

#### MongoDB

Встановіть `MONGO_DATA_PATH` до розташування тому даних, який використовується `mongo` контейнера.

#### Redis

Встановіть `REDIS_DATA_PATH` до розташування тому даних, який використовується `redis` контейнера.
{% endstep %}
{% endstepper %}

Для отримання докладнішої інформації та розширеного налаштування зверніться до відповідних документів з конфігурації Toolkit, посилання на які наведено вище.


---

# 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/uk/obslugovuvannya/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.
