> 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/ru/ustanovka/air-gapped-offline-deployments.md).

# Развёртывания в изолированной среде/офлайн

В общем случае мы не рекомендуем разворачивать AyakaLeaf Pro в офлайн-среде, поскольку многие его функции, такие как GitHub Sync и интеграция с Zotero, требуют подключения к интернету.

Но если вы хотите работать офлайн, что означает, что не всегда может быть возможно обратиться к реестру ghcr.io, чтобы загрузить необходимые `sharelatex` , `ayakaleaf-pro` и образы TeX Live. Это не проблема, поскольку Docker предоставляет инструменты для экспорта и импорта образов, которые помогут вам при развертывании в офлайн-/air-gapped-среде.

В общих чертах, вы загрузите необходимые образы на устройство с подключением к интернету, экспортируете их на портативное устройство (или передадите их с помощью SCP/Rsync), а затем импортируете их на сервере с изоляцией от сети.

Для этого вам нужно выполнить следующие шаги:

* Загрузите все необходимые образы ( `overleaf-pro`, `git-bridge`, `mongo`, `redis` + любые необходимые [образы TeX Live](https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/server-pro-only-configuration/sandboxed-compiles#available-tex-live-images) для использования с [Sandboxed Compiles](https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/server-pro-only-configuration/sandboxed-compiles)) на машине с подключением к интернету
  * `docker pull ghcr.io/ayaka-notes/overleaf-pro:6.1.2`
  * `docker pull quay.io/sharelatex/git-bridge:6.1.2` (тег должен быть таким же, как у `overleaf-pro`)
  * `docker pull mongo:6` (Пожалуйста, измените на реальную версию)
  * `docker pull redis:6.2` (Пожалуйста, измените на реальную версию)
  * `docker pull ghcr.io/ayaka-notes/texlive-full:2024.1` (Пожалуйста, измените на реальную версию)
* Для **каждого** из загруженных образов вам затем нужно экспортировать их в файл .tar. Например, `docker save ghcr.io/ayaka-notes/overleaf-pro:6.1.2 > overleaf-pro:6.1.2.tar`
* Используя предпочитаемый вами способ, перенесите `.tar` файлы с машины с доступом к интернету на офлайн-/air-gapped-сервер
* Для каждого из файлов .tar используйте `docker load` команду, чтобы загрузить образ из файла .tar. Например, `docker load < overleaf-pro:6.1.2.tar`
* Наконец, выполните `docker images` команду, чтобы просмотреть/подтвердить, что загрузка образов прошла успешно и что они доступны

{% hint style="danger" %}
По умолчанию, когда вы запускаете команду `bin/up` Toolkit будет пытаться автоматически загрузить каждый из образов TeX Live, заданных через `ALL_TEX_LIVE_DOCKER_IMAGES` в `config/variables.env`. Поскольку ваше развертывание изолировано от сети, это не сработает — вы можете остановить это, используя `SIBLING_CONTAINERS_PULL=false` в `config/overleaf.rc`.
{% 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://ayakaleaf-pro.ayaka.space/on-premises/ru/ustanovka/air-gapped-offline-deployments.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.
