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

# Di chuyển từ docker-compose.yml sang Toolkit

> Di chuyển một bản triển khai Overleaf bằng Docker Compose sang Toolkit.

Nếu bạn hiện đang sử dụng Docker Compose thông qua tệp `docker-compose.yml`, việc chuyển sang Toolkit có thể giúp phiên bản Overleaf tự triển khai (on-premises) dễ dàng hơn trong việc triển khai, nâng cấp và bảo trì.

Để di chuyển, bạn cần chuyển đổi thiết lập Docker Compose hiện có sang định dạng mà Toolkit sử dụng. Quá trình này bao gồm việc sao chép cấu hình hiện có vào Toolkit.

Hướng dẫn này sẽ dẫn bạn qua từng bước của quá trình, đảm bảo việc di chuyển từ Docker Compose sang Toolkit diễn ra suôn sẻ.

<Info>
  Các hướng dẫn này dành cho v4.x trở về trước. Do đó, tất cả các biến đều sử dụng tiền tố `SHARELATEX_` thay vì `OVERLEAF_`.
</Info>

<Steps>
  <Step title="Clone repository Toolkit">
    Đầu tiên, clone repository Toolkit về máy chủ:

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

    Tiếp theo, chạy lệnh `bin/init` để khởi tạo Toolkit với cấu hình mặc định.
  </Step>

  <Step title="Thiết lập image và phiên bản">
    Trong một tệp `docker-compose.yml` thông thường, image và phiên bản được định nghĩa trong phần mô tả thành phần, ví dụ:

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

    Khi sử dụng Toolkit, tên image được tự động xác định; yêu cầu duy nhất là đặt `SERVER_PRO=true` trong **config/overleaf.rc** để chọn image Server Pro hoặc `SERVER_PRO=false` để sử dụng Community Edition.

    Số phiên bản Server Pro/Community Edition mong muốn được đặt trong tệp **config/version**. Toolkit yêu cầu một số phiên bản cụ thể như `4.2.3`. Nếu bạn đang dùng `latest`, bạn có thể dùng `bin/images` để tìm image id của phiên bản `latest` cục bộ, sau đó dùng ghi chú phát hành cho 2.x.x, 3.x.x, 4.x.x hoặc 5.x.x để đối chiếu image id với phiên bản.

    Nếu bạn lấy image từ registry nội bộ của riêng mình, bạn có thể ghi đè image mà Toolkit sử dụng bằng cách đặt `OVERLEAF_IMAGE_NAME`. Bạn không cần chỉ định tag vì Toolkit sẽ tự động thêm tag dựa trên tệp **config/version** của bạn.
  </Step>

  <Step title="Cấu hình truy cập từ bên ngoài">
    Theo mặc định, Overleaf sẽ lắng nghe trên `127.0.0.1:80`, chỉ cho phép lưu lượng từ máy chủ Docker.

    Để cho phép truy cập từ bên ngoài, hãy đặt `OVERLEAF_LISTEN_IP` và `OVERLEAF_PORT` trong tệp [**config/overleaf.rc**](/vi/on-premises/configuration/overleaf-toolkit/environment-variables).
  </Step>

  <Step title="Di chuyển biến môi trường">
    Nhiều khả năng bạn có một tập hợp biến môi trường được định nghĩa trong dịch vụ `sharelatex` trong tệp `docker-compose.yml`, ví dụ:

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

    Sao chép các biến này vào tệp [**config/variables.env**](/vi/on-premises/configuration/overleaf-toolkit/environment-variables) của Toolkit, theo định dạng sau (dùng `=` thay vì `:`):

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

    Các ngoại lệ / khác biệt khi sử dụng Toolkit:

    * Các biến bắt đầu bằng `SANDBOXED_COMPILES_` và `DOCKER_RUNNER` không còn cần thiết. Để bật Sandboxed Compiles, hãy đặt `SIBLING_CONTAINERS_ENABLED=true` trong tệp **config/overleaf.rc**.
    * Các biến bắt đầu bằng `OVERLEAF_MONGO_`, `OVERLEAF_REDIS_` và biến `REDIS_HOST` không còn cần thiết. MongoDB và Redis giờ được cấu hình trong tệp **config/overleaf.rc** bằng `MONGO_URL`, `REDIS_HOST` và `REDIS_PORT`.

    Để biết các tùy chọn cấu hình nâng cao, hãy tham khảo tài liệu [config/overleaf.rc](/vi/on-premises/configuration/overleaf-toolkit/environment-variables).
  </Step>

  <Step title="Proxy NGINX">
    Để biết hướng dẫn cách di chuyển `nginx`, hãy xem [tài liệu TLS Proxy](/vi/on-premises/configuration/overleaf-toolkit/tls-proxy):
  </Step>

  <Step title="Volume">
    Đặt vị trí của các volume dữ liệu trong **config/overleaf.rc**:

    #### ShareLaTeX

    Đặt `OVERLEAF_DATA_PATH` thành vị trí của volume dữ liệu mà container `sharelatex` sử dụng.

    #### MongoDB

    Đặt `MONGO_DATA_PATH` thành vị trí của volume dữ liệu mà container `mongo` sử dụng.

    #### Redis

    Đặt `REDIS_DATA_PATH` thành vị trí của volume dữ liệu mà container `redis` sử dụng.
  </Step>
</Steps>

Để biết thêm chi tiết và cấu hình nâng cao, hãy tham khảo các tài liệu cấu hình Toolkit liên quan được liên kết ở trên.


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