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

# docker-compose.yml에서 Toolkit으로 마이그레이션

현재 Docker Compose를 a를 통해 사용 중이라면 `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: always
        # 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` 버전의 이미지 ID를 찾은 다음, 2.x.x, 3.x.x, 4.x.x 또는 5.x.x 릴리스 노트를 사용해 이미지 ID를 버전에 매핑합니다.

자체 내부 레지스트리에서 이미지를 가져오는 경우 다음을 설정하여 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/ko/configuration/overleaf-toolkit/environment-variables.md) 파일.
{% endstep %}

{% step %}

### 환경 변수 마이그레이션

아마 다음에 정의된 환경 변수 집합이 있을 것입니다 `sharelatex` 서비스 `docker-compose.yml`, 예를 들면:

```yaml
environment:
    OVERLEAF_APP_NAME: Overleaf 커뮤니티 에디션
    OVERLEAF_PROXY_LEARN: 'true'
    …
```

이 변수들을 Toolkit의 [**config/variables.env**](broken://pages/906d29a7f121d3d121ddd462343b3b44ff90041a) 파일로 복사하되, 다음 형식을 따르도록 합니다(다음을 사용 `=` 대신에 `:`):

```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/ko/configuration/overleaf-toolkit/environment-variables.md) 문서.
{% endstep %}

{% step %}

### NGINX 프록시

마이그레이션 방법에 대한 지침은 다음을 참조하세요 `nginx`, 다음을 참조하세요 [TLS 프록시 문서](/on-premises/ko/configuration/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/ko/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.
