> ## 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.

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

> Overleaf Docker Compose 배포를 Toolkit으로 마이그레이션합니다.

현재 `docker-compose.yml` 파일로 Docker Compose를 사용하고 있다면, Toolkit으로 마이그레이션하면 온프레미스 버전의 Overleaf를 더 쉽게 배포, 업그레이드, 유지 관리할 수 있습니다.

마이그레이션하려면 기존 Docker Compose 설정을 Toolkit에서 사용하는 형식으로 변환해야 합니다. 이 과정에서는 기존 설정을 Toolkit으로 복사합니다.

이 가이드는 Docker Compose에서 Toolkit으로 원활하게 마이그레이션할 수 있도록 각 단계를 안내합니다.

<Info>
  이 안내는 v4.x 이하 버전을 위한 것입니다. 따라서 모든 변수는 `OVERLEAF_` 대신 `SHARELATEX_` 접두사를 사용합니다.
</Info>

<Steps>
  <Step title="Toolkit 저장소 복제">
    먼저 호스트 머신에 Toolkit 저장소를 복제합니다:

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

    다음으로 `bin/init` 명령을 실행하여 기본 설정으로 Toolkit을 초기화합니다.
  </Step>

  <Step title="이미지와 버전 설정">
    일반적인 `docker-compose.yml`에서는 이미지와 버전이 컴포넌트 설명에 정의되어 있습니다. 예:

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

    Toolkit을 사용하면 이미지 이름이 자동으로 결정됩니다. **config/overleaf.rc**에서 Server Pro 이미지를 사용하려면 `SERVER_PRO=true`를, Community Edition을 사용하려면 `SERVER_PRO=false`를 설정하기만 하면 됩니다.

    원하는 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에 해당하는 버전을 확인할 수 있습니다.

    자체 내부 레지스트리에서 이미지를 가져오는 경우 `OVERLEAF_IMAGE_NAME`을 설정하여 Toolkit이 사용하는 이미지를 재정의할 수 있습니다. 태그는 Toolkit이 **config/version** 파일을 기반으로 자동으로 추가하므로 지정할 필요가 없습니다.
  </Step>

  <Step title="외부 접근 설정">
    기본적으로 Overleaf는 `127.0.0.1:80`에서 수신 대기하며, Docker 호스트 머신에서 오는 트래픽만 허용합니다.

    외부 접근을 허용하려면 [**config/overleaf.rc**](/ko/on-premises/configuration/overleaf-toolkit/environment-variables) 파일에서 `OVERLEAF_LISTEN_IP`와 `OVERLEAF_PORT`를 설정하세요.
  </Step>

  <Step title="환경 변수 마이그레이션">
    `docker-compose.yml`의 `sharelatex` 서비스에는 다음과 같이 여러 환경 변수가 정의되어 있을 것입니다:

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

    이 변수들을 Toolkit의 [**config/variables.env**](/ko/on-premises/configuration/overleaf-toolkit/environment-variables) 파일로 복사하되, 다음 형식을 따르세요(`:` 대신 `=` 사용):

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

    Toolkit 사용 시의 예외 및 차이점:

    * `SANDBOXED_COMPILES_` 및 `DOCKER_RUNNER`로 시작하는 변수는 더 이상 필요하지 않습니다. Sandboxed Compiles를 활성화하려면 **config/overleaf.rc** 파일에서 `SIBLING_CONTAINERS_ENABLED=true`를 설정하세요.
    * `OVERLEAF_MONGO_`, `OVERLEAF_REDIS_`로 시작하는 변수와 `REDIS_HOST` 변수는 더 이상 필요하지 않습니다. 이제 MongoDB와 Redis는 **config/overleaf.rc** 파일에서 `MONGO_URL`, `REDIS_HOST`, `REDIS_PORT`를 사용하여 설정합니다.

    고급 설정 옵션은 [config/overleaf.rc](/ko/on-premises/configuration/overleaf-toolkit/environment-variables) 문서를 참고하세요.
  </Step>

  <Step title="NGINX 프록시">
    `nginx` 마이그레이션 방법은 [TLS 프록시 문서](/ko/on-premises/configuration/overleaf-toolkit/tls-proxy)를 참고하세요:
  </Step>

  <Step title="볼륨">
    **config/overleaf.rc**에서 데이터 볼륨의 위치를 설정합니다:

    #### ShareLaTeX

    `OVERLEAF_DATA_PATH`를 `sharelatex` 컨테이너가 사용하는 데이터 볼륨의 위치로 설정합니다.

    #### MongoDB

    `MONGO_DATA_PATH`를 `mongo` 컨테이너가 사용하는 데이터 볼륨의 위치로 설정합니다.

    #### Redis

    `REDIS_DATA_PATH`를 `redis` 컨테이너가 사용하는 데이터 볼륨의 위치로 설정합니다.
  </Step>
</Steps>

자세한 내용과 고급 설정은 위에 링크된 관련 Toolkit 설정 문서를 참고하세요.


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