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

# Ayakaleaf Toolkit là gì?

Ayakaleaf toolkit là phương thức triển khai được khuyến nghị cho các bản cài đặt on-premises của Community Edition và Ayakaleaf Pro. Nó được thiết kế để hoạt động với môi trường phổ biến nhất: một máy chủ vật lý hoặc máy ảo duy nhất. Toolkit sử dụng `docker compose` để quản lý các Docker container của máy chủ và cung cấp một bộ script bao bọc các lệnh `docker` nhằm hỗ trợ các khía cạnh kỹ thuật hơn trong việc quản lý một phiên bản Overleaf on-premises.

#### Trình bao bọc `bin/docker-compose`

Script `bin/docker-compose` là một trình bao bọc (wrapper) quanh `docker compose`. Nó nạp cấu hình từ thư mục `config/`, trước khi gọi `docker compose` với bất kỳ đối số nào được truyền cho script.

Bạn có thể coi `bin/docker-compose` như một trình bao bọc trong suốt cho chương trình `docker compose` được cài đặt trên máy của bạn.

Ví dụ:

```bash title="Check running containers" theme={null}
$ bin/docker-compose ps
```

#### Các script hỗ trợ tiện lợi

Ngoài `bin/docker-compose`, Toolkit còn cung cấp các script tiện lợi để hỗ trợ những tác vụ thường gặp:

* `bin/up`: lối tắt cho `bin/docker-compose up`
* `bin/start`: lối tắt cho `bin/docker-compose start`
* `bin/stop`: lối tắt cho `bin/docker-compose stop`
* `bin/shell`: khởi động một shell bên trong container **sharelatex**
* `bin/doctor`: script dùng để thu thập thông tin cài đặt và triển khai. Xem phần "Kiểm tra máy chủ của bạn" bên dưới
* `bin/mongo`: khởi động một shell bên trong container **mongo** và chuyển sang đúng cơ sở dữ liệu (**sharelatex**)
* `bin/backup-config`: tạo một bản sao (zip hoặc tar) của cấu hình hiện tại và lưu vào thư mục đích bạn chọn
* `bin/logs`: xem/theo dõi log của dịch vụ
* `bin/error-logs`: xem/theo dõi log lỗi của dịch vụ
* `bin/rename-env-vars-5-0`: script di chuyển để cập nhật các biến môi trường trong **config/variables.env** (đổi thương hiệu từ ShareLaTeX sang Overleaf)
* `bin/rename-rc-vars`: script di chuyển để cập nhật các biến môi trường trong **config/overleaf.rc** (đổi thương hiệu từ ShareLaTeX sang Overleaf)
* `bin/run-script`: công cụ hỗ trợ giúp đơn giản hóa việc chạy các script được lưu trong container **sharelatex**
* `bin/upgrade`: hỗ trợ nâng cấp phiên bản. Script sẽ kiểm tra các bản cập nhật của Toolkit (thông qua git) và đề nghị pull các thay đổi, kiểm tra phiên bản Docker image mới nhất và đề nghị cập nhật. Nó cung cấp xác nhận từng bước, tùy chọn sao lưu cấu hình hiện tại, và xử lý việc dừng/khởi động các dịch vụ Docker. Xem Nâng cấp bản triển khai của bạn để biết thêm thông tin: [https://docs.overleaf.com/on-premises/maintenance/upgrading-your-deployment](https://docs.overleaf.com/on-premises/maintenance/upgrading-your-deployment)

<Info>
  Nếu bạn muốn chạy phiên bản của mình mà không gắn vào Docker log, bạn có thể chạy `bin/up -d` để chạy ở chế độ tách rời (detached).
</Info>

#### Kiểm tra máy chủ của bạn

Overleaf Toolkit bao gồm một script tiện dụng tên là `bin/doctor`, tạo ra báo cáo chỉ ra bất kỳ phụ thuộc nào chưa được đáp ứng.

Trước khi tiếp tục, hãy chạy script `bin/doctor` và kiểm tra xem mọi thứ có hoạt động chính xác không:

```bash title="Run Overleaf Doctor" theme={null}
bin/doctor
```

Kết quả mẫu (đã rút gọn/minh họa):

<Accordion title="Kết quả mẫu từ bin/doctor">
  ```text theme={null}
  ====== Overleaf Doctor ======
  - Host Information
      - Linux
      - Output of 'lsb_release -a':
              No LSB modules are available.
              Distributor ID:     Ubuntu
              Description:        Ubuntu 22.04.5 LTS
              Release:    22.04
              Codename:   jammy
  - Dependencies
      - bash
          - status: present
          - version info: 5.1.16(1)-release
      - docker
          - status: present
          - version info: Docker version 27.3.1, build ce12230
      - realpath
          - status: present
          - version info: realpath (GNU coreutils) 8.32
      - perl
          - status: present
          - version info: 5.034000
      - awk
          - status: present
          - version info: GNU Awk 5.1.0, API: 3.0 (GNU MPFR 4.1.0, GNU MP 6.2.1)
      - openssl
          - status: present
          - version info: OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
      - docker compose
          - status: present
          - version info: Docker Compose version v2.29.7
  - Docker Daemon
      - status: up
  ====== Configuration ======
  - config/version
      - status: present
      - version: 5.1.1
  - config/overleaf.rc
      - status: present
      - values
          - OVERLEAF_DATA_PATH: data/overleaf
          - OVERLEAF_LOG_PATH: data/overleaf/logs
          - SERVER_PRO: true
              - logged in to quay.io: true
          - SIBLING_CONTAINERS_ENABLED: true
          - OVERLEAF_LISTEN_IP: 0.0.0.0
          - OVERLEAF_PORT: 80
          - MONGO_ENABLED: true
          - MONGO_IMAGE: mongo
          - MONGO_VERSION: 6.0
          - MONGO_DATA_PATH: data/mongo
          - REDIS_ENABLED: true
          - REDIS_IMAGE: redis:6.2
          - REDIS_DATA_PATH: data/redis
  - config/variables.env
      - status: present
      - values
          - OVERLEAF_FILESTORE_BACKEND: fs
          - OVERLEAF_HISTORY_BACKEND: fs
  ====== Warnings ======
  - None, all good
  ====== End ======
  ```
</Accordion>

Nếu thiếu bất kỳ phụ thuộc nào, doctor sẽ in ra cảnh báo. Nếu bạn gặp sự cố, trước tiên hãy chạy `bin/doctor` và kiểm tra kết quả đầu ra để tìm cảnh báo.

<Info>
  * Người dùng Ayakaleaf Pro Edition có thể mở issue trên GitHub: [https://github.com/ayaka-notes/toolkit/issues](https://github.com/ayaka-notes/toolkit/issues)

  Trong cả hai trường hợp, hãy kèm theo kết quả đầu ra của `bin/doctor` trong tin nhắn của bạn.
</Info>


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