> 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/ru/nachalo-raboty/pro-infrastructure.md).

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

#### Сервисы

Инфраструктура Overleaf Pro состоит из четырёх основных сервисов: `sharelatex`, `git-bridge` (необязательно), `mongo` и `redis`. `sharelatex` сервис, который запускает основное приложение Server Pro, зависит от `mongo` и `redis` сервисов для своей базы данных и функций кэширования/работы в реальном времени, а также `git-bridge` для обработки [интеграции с Git](/on-premises/ru/konfiguraciya/overleaf-toolkit/git-integration.md) (необязательно). Единственный порт, опубликованный на хост-машине, — это порт 80, который используется `sharelatex` контейнера.

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

{% hint style="info" %}
При необходимости MongoDB и Redis можно вынести во внешние сервисы с помощью переменных окружения. Для получения дополнительной информации см. [Настройке Overleaf](broken://pages/14e3a99831712fbed641777e9989c81f73f12a3c) если вы используете Docker Compose, и [Настройки Toolkit](broken://pages/323c16ad4fcd4a0baec4e6b6b832941e1d45b4bb) если используете Overleaf Toolkit.
{% endhint %}

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

Для [Изолированные компиляции](broken://pages/87d3d92a07a8adf3e0e89789d3a72d83dff94452), `sharelatex` контейнер будет оркестрировать создание новых контейнеров для обработки компиляции проектов; он делает это через сокет Docker на хост-машине. Подробнее об редакторе и сквозном процессе компиляции/кэширования можно прочитать [здесь](/on-premises/ru/nachalo-raboty/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/f8449e1791b0c128245217d7716e5f777d3e7c88) для завершения HTTPS-соединений с помощью Nginx через переменную окружения. В качестве альтернативы можно использовать существующий TLS-прокси.

{% hint style="info" %}
Вы можете посмотреть схему, объясняющую поток запросов [здесь](broken://pages/f8449e1791b0c128245217d7716e5f777d3e7c88).
{% 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/87d3d92a07a8adf3e0e89789d3a72d83dff94452) контейнеров сеть недоступна.

См. также по связанным темам:

* [Микросервисы](/on-premises/ru/nachalo-raboty/microservices.md)
* [Что такое Overleaf Toolkit?](/on-premises/ru/nachalo-raboty/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://overleaf-pro.ayaka.space/on-premises/ru/nachalo-raboty/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.
