> For the complete documentation index, see [llms.txt](https://ayakaleaf-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://ayakaleaf-pro.ayaka.space/on-premises/uk/pochatok-roboti/pro-infrastructure.md).

# Інфраструктура Pro

#### Служби

Інфраструктура Overleaf Pro складається з чотирьох основних служб: `sharelatex`, `git-bridge` (необов’язково), `mongo` і `redis`.  `sharelatex` служба, яка запускає основний застосунок Server Pro, залежить від `mongo` і `redis` служб для своєї бази даних і функцій кешування/роботи в реальному часі, а також від `git-bridge` щоб обробляти [інтеграцію з Git](/on-premises/uk/konfiguraciya/overleaf-toolkit/git-integration.md) (необов’язково). Єдиний порт, опублікований на хост-машині, — це порт 80, який використовується `sharelatex` контейнером.

Server Pro також додатково підтримує [сховище, сумісне з S3](/on-premises/uk/konfiguraciya/overleaf-toolkit/s3.md) для файлів проєкту та повної історії проєкту, а також може проксувати доступ до основного [сайту документації Overleafarrow-up-right](https://www.overleaf.com/learn). Для отримання додаткової інформації див. наш посібник про [Додавання довідки для користувачів LaTeX](broken://pages/d8137ae1db33589bac1da803df802a8aea784afc) сторінки.

{% hint style="info" %}
За потреби MongoDB і Redis можна винести назовні за допомогою змінних середовища, щоб вони вказували на зовнішні служби. Для отримання додаткової інформації див. [Налаштування Overleaf](/on-premises/uk/konfiguraciya/overleaf-toolkit.md) якщо ви використовуєте Docker Compose, і [параметри Toolkit](/on-premises/uk/konfiguraciya/overleaf-toolkit/toolkit-settings.md) якщо використовується Overleaf Toolkit.
{% endhint %}

#### Компіляція

Для [Ізольовані компіляції](broken://pages/b9ca3bcc97e34b56334d9d294bf1334d5794a4bd),  `sharelatex` контейнер координуватиме створення нових контейнерів для обробки компіляцій проєкту; він робить це через сокет Docker на хост-машині. Докладніше про редактор і наскрізний процес компіляції/кешування можна прочитати [тут](/on-premises/uk/pochatok-roboti/microservices.md#editor-and-compile-process).

#### Мережа

Обмін даними між контейнерами здійснюється через внутрішнє DNS-розв’язання Docker через виділену bridge-мережу, і брандмауери не ввімкнені. За замовчуванням наведені вище служби використовують свої стандартні порти, але їх можна налаштувати за допомогою змінних середовища. Контейнер `sharelatex` контейнер використовує порт 80 для зовнішнього веб-доступу (обслуговується Nginx), а `mongo` контейнер використовує порт 27017, а `redis` використовує порт 6379.

Для клієнтів, які використовують наше кероване рішення [Overleaf Toolkitarrow-up-right](https://github.com/overleaf/toolkit), ви можете за бажанням [увімкнути TLS-проксі](broken://pages/b08be0e08a6a2c8efb73cf49ba71dc2b036b89a7) для завершення HTTPS-з’єднань за допомогою Nginx через змінну середовища. Або ж ви можете використати наявний TLS-проксі.

{% hint style="info" %}
Ви можете переглянути діаграму, що пояснює потік запитів [тут](broken://pages/b08be0e08a6a2c8efb73cf49ba71dc2b036b89a7).
{% endhint %}

#### Підсумок

* Поза мережею Docker доступний лише порт 80, і він прив’язаний до Nginx. **Примітка:** Контейнер `sharelatex` контейнер запускає багато [службarrow-up-right](https://github.com/overleaf/overleaf/tree/main/services) які взаємодіють одна з одною через HTTP. Однак ці порти **не** доступні ззовні мережі Docker.
* Усередині мережі Docker служби Overleaf, MongoDB, Redis і Git Bridge можуть вільно взаємодіяти одна з одною.
* Усередині [Ізольовані компіляції](broken://pages/b9ca3bcc97e34b56334d9d294bf1334d5794a4bd) контейнерів мережа недоступна.

Див. також пов’язані теми:

* [Мікросервіси](/on-premises/uk/pochatok-roboti/microservices.md)
* [Що таке Ayakaleaf Toolkit?](/on-premises/uk/pochatok-roboti/what-is-the-overleaf-toolkit.md)


---

# 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://ayakaleaf-pro.ayaka.space/on-premises/uk/pochatok-roboti/pro-infrastructure.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.
