> 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/vi/bat-dau/what-is-the-overleaf-toolkit.md).

# Bộ công cụ Overleaf là gì?

Overleaf Toolkit là phương thức triển khai được khuyến nghị cho các cài đặt tại chỗ của Community Edition, Server Pro hoặc Overleaf 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 container Docker của máy chủ bạn và cung cấp một bộ script bao bọc `docker` các lệnh để hỗ trợ phần kỹ thuật hơn trong việc quản lý phiên bản Overleaf cài đặt tại chỗ.

#### Phần `bin/docker-compose` trình bao bọc

Phần `bin/docker-compose` script là một trình bao bọc cho `docker compose`. Nó tải cấu hình từ `config/` thư mục, 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ể xem `bin/docker-compose` như một trình bao bọc trong suốt cho `docker compose` chương trình được cài đặt trên máy của bạn.

Ví dụ:

{% code title="Kiểm tra các container đang chạy" %}

```bash
$ bin/docker-compose ps
```

{% endcode %}

#### Các trợ giúp tiện ích

Ngoài `bin/docker-compose`ra, Toolkit cung cấp các script tiện dụng để hỗ trợ các 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 chạy một shell bên trong **sharelatex** container
* `bin/doctor`: script dùng để thu thập thông tin cài đặt và triển khai. Xem phần "Checking your server" bên dưới
* `bin/mongo`: khởi chạy một shell bên trong **mongo** container và chuyển sang cơ sở dữ liệu đúng (**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 của bạn và lưu vào thư mục đích bạn chọn
* `bin/logs`: xem/đuôi nhật ký dịch vụ
* `bin/error-logs`: xem/đuôi nhật ký 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`: trợ thủ giúp đơn giản hóa việc chạy các script được lưu trong **sharelatex** container
* `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 (qua git) và đề nghị kéo về các thay đổi, kiểm tra phiên bản image Docker mới nhất và đề nghị cập nhật nó. 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 phần Nâng cấp triển khai của bạn để biết thêm thông tin: <https://docs.overleaf.com/on-premises/maintenance/upgrading-your-deployment>

{% hint style="info" %}
Nếu bạn muốn chạy phiên bản của mình mà không gắn vào các log Docker, bạn có thể chạy `bin/up -d` để chạy ở chế độ tách rời.
{% endhint %}

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

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

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

{% code title="Chạy Overleaf Doctor" %}

```bash
bin/doctor
```

{% endcode %}

Ví dụ đầu ra (đã cắt ngắn/minh họa):

<details>

<summary>Kết quả mẫu từ bin/doctor</summary>

```
====== Overleaf Doctor ======
- Thông tin máy chủ
    - Linux
    - Kết quả của 'lsb_release -a':
            Không có mô-đun LSB nào sẵn có.
            Mã nhà phân phối:     Ubuntu
            Mô tả:        Ubuntu 22.04.5 LTS
            Phát hành:    22.04
            Tên mã:   jammy
- Phụ thuộc
    - bash
        - trạng thái: có sẵn
        - thông tin phiên bản: 5.1.16(1)-release
    - docker
        - trạng thái: có sẵn
        - thông tin phiên bản: Docker version 27.3.1, build ce12230
    - realpath
        - trạng thái: có sẵn
        - thông tin phiên bản: realpath (GNU coreutils) 8.32
    - perl
        - trạng thái: có sẵn
        - thông tin phiên bản: 5.034000
    - awk
        - trạng thái: có sẵn
        - thông tin phiên bản: GNU Awk 5.1.0, API: 3.0 (GNU MPFR 4.1.0, GNU MP 6.2.1)
    - openssl
        - trạng thái: có sẵn
        - thông tin phiên bản: OpenSSL 3.0.2 15 Mar 2022 (Thư viện: OpenSSL 3.0.2 15 Mar 2022)
    - docker compose
        - trạng thái: có sẵn
        - thông tin phiên bản: Docker Compose version v2.29.7
- Docker Daemon
    - trạng thái: đang chạy
====== Cấu hình ======
- config/version
    - trạng thái: có sẵn
    - phiên bản: 5.1.1
- config/overleaf.rc
    - trạng thái: có sẵn
    - các giá trị
        - OVERLEAF_DATA_PATH: data/overleaf
        - OVERLEAF_LOG_PATH: data/overleaf/logs
        - SERVER_PRO: true
            - đã đăng nhập vào 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
    - trạng thái: có sẵn
    - các giá trị
        - OVERLEAF_FILESTORE_BACKEND: fs
        - OVERLEAF_HISTORY_BACKEND: fs
====== Cảnh báo ======
- Không có, mọi thứ đều ổn
====== Kết thúc ======
```

</details>

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 vấn đề, trước tiên hãy chạy `bin/doctor` và kiểm tra đầu ra của nó để tìm cảnh báo.

{% hint style="info" %}

* Người dùng Community Edition miễn phí nên mở một issue trên GitHub: <https://github.com/overleaf/toolkit/issues>
* Người dùng Server Pro nên liên hệ bộ phận hỗ trợ: mailto:<support+serverpro@overleaf.com>

Trong cả hai trường hợp, hãy bao gồm đầu ra của `bin/doctor` trong tin nhắn của bạn.
{% endhint %}


---

# 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/vi/bat-dau/what-is-the-overleaf-toolkit.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.
