> 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/cau-hinh/overleaf-toolkit/files-and-locations.md).

# Tệp và vị trí

Trang này mô tả các tệp cấu hình được Toolkit sử dụng để cấu hình triển khai Overleaf tại chỗ của bạn.

### Dữ liệu bền vững

Overleaf Toolkit cần lưu trữ dữ liệu bền vững, chẳng hạn như các tệp cần thiết để biên dịch các dự án LaTeX, và nội dung của cơ sở dữ liệu MongoDB. Điều này được thực hiện bằng cách gắn một vài thư mục từ máy chủ vào các vùng chứa Docker, rồi ghi dữ liệu vào những thư mục đó.

#### Thư mục dữ liệu

Trường `sharelatex` container yêu cầu một thư mục để lưu trữ dữ liệu liên quan đến việc biên dịch LaTeX. Thư mục này được đặt bằng `OVERLEAF_DATA_PATH` biến trong `config/overleaf.rc`.

Trường `mongo` container, nếu được bật, yêu cầu một thư mục để lưu các tệp cơ sở dữ liệu của nó, và điều tương tự cũng đúng với `redis` container. Các thư mục này cũng có thể được cấu hình trong `config/overleaf.rc`.

#### Quyền tệp

Vì Docker chạy với quyền `root`, các thư mục dữ liệu sẽ cuối cùng thuộc sở hữu của `root` người dùng, ngay cả khi Toolkit đang được một người dùng không phải root sử dụng. Đây không phải là vấn đề, nhưng đáng lưu ý nếu bạn định thay đổi dữ liệu bền vững từ bên ngoài các container.

### Vị trí tệp cấu hình

Tất cả các tệp cấu hình do người dùng sở hữu đều nằm trong `config/` thư mục.

Thư mục này **được loại trừ** khỏi hệ thống quản lý phiên bản git, vì vậy nó sẽ không bị thay đổi khi cập nhật mã Toolkit. Toolkit sẽ **không** thay đổi bất kỳ dữ liệu nào trong `config/` thư mục mà không có sự cho phép của bạn.

{% hint style="info" %}
Các thay đổi đối với các tệp cấu hình sẽ không được tự động áp dụng cho các container hiện có, ngay cả khi container được dừng và khởi động lại (bằng `bin/stop` và `bin/start`). Để áp dụng các thay đổi, hãy chạy `bin/up`, và ở phía sau, `docker compose` sẽ tự động áp dụng các thay đổi cấu hình cho một container mới. (Hoặc, hãy chạy `bin/up -d`, nếu bạn không muốn gắn với nhật ký Docker.)
{% endhint %}

### Trường `overleaf.rc` tệp

Trường `config/overleaf.rc` Tệp này chứa các cài đặt cấu hình cấp cao quan trọng nhất được Toolkit sử dụng. Nó chứa các câu lệnh thiết lập biến, theo định dạng: `VARIABLE_NAME=value`

Để xem phân tích chi tiết tất cả các tùy chọn cấu hình hiện có, hãy xem mục cài đặt của chúng tôi.

### Trường `variables.env` tệp

Trường `config/variables.env` tệp này chứa các biến môi trường được nạp vào `sharelatex` container, và được dùng để cấu hình các vi dịch vụ Overleaf. Chúng bao gồm tên của ứng dụng, hiển thị ở phần đầu giao diện web, các cài đặt gửi email, và các cài đặt cao cấp khác như SSO để dùng với Server Pro.

Để xem phân tích chi tiết tất cả các biến môi trường hiện có, hãy xem [Biến môi trường](broken://pages/556eaeb4dddcb30f8e61eab36f50573c660f1752) này.

### Trường `phiên bản` tệp

Trường `config/version` tệp này chứa số phiên bản của ảnh Docker sẽ được dùng để tạo phiên bản đang chạy của máy chủ Overleaf của bạn.

{% hint style="info" %}
Các thay đổi đối với những tệp cấu hình này sẽ không được tự động áp dụng cho các container hiện có, ngay cả khi container được dừng và khởi động lại (bằng `bin/stop` và `bin/start`). Để áp dụng các thay đổi của bạn, hãy chạy `bin/up`, và Toolkit sẽ tự động tạo một container mới cho bạn với các thay đổi cấu hình đã được áp dụng.
{% endhint %}

### Trường `docker-compose.override.yml` tệp

Nếu có, tệp `config/docker-compose.override.yml` sẽ được đưa vào lệnh gọi tới `docker compose`. Điều này hữu ích để ghi đè cấu hình cụ thể cho Docker Compose.

Xem [tài liệu docker-compose](https://docs.docker.com/compose/extends/#adding-and-overriding-configuration) để biết thêm chi tiết.


---

# 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/cau-hinh/overleaf-toolkit/files-and-locations.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.
