> 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/uk/konfiguraciya/overleaf-toolkit/git-integration.md).

# інтеграції з Git

Інтеграція Git доступна лише на [ayaka-notes/overleaf](https://github.com/ayaka-notes/overleaf) зараз.

{% hint style="info" %}
Цю функцію спочатку розроблено [ayaka-notes/overleaf-pro](https://github.com/ayaka-notes/overleaf-pro).
{% endhint %}

{% stepper %}
{% step %}

### Увімкніть git-bridge (лише для користувачів Toolkit)

Якщо ви використовуєте Toolkit, увімкніть `git-bridge` його, встановивши таке у вашому `config/overleaf.rc`:

{% code title="config/overleaf.rc" %}

```
GIT_BRIDGE_ENABLED=true
```

{% endcode %}
{% endstep %}

{% step %}

### Додайте контейнер git-bridge (лише для користувачів Docker Compose)

Для користувачів, які запускають власний `docker-compose.yml`, додайте таку конфігурацію контейнера до вашого файла compose:

{% code title="docker-compose.yml (служба git-bridge)" overflow="wrap" %}

```yaml
git-bridge:
    restart: завжди
    image: quay.io/sharelatex/git-bridge:4.0.0 # тег має збігатися з тегом контейнера `sharelatex`
    volumes:
        - ~/git_bridge_data:/data/git-bridge
    container_name: git-bridge
    expose:
        - "8000"
    environment:
        GIT_BRIDGE_API_BASE_URL: "http://sharelatex:3000/api/v0/" 
        # "http://sharelatex/api/v0/" для версії 4.1.6 і раніших
        GIT_BRIDGE_OAUTH2_SERVER: "http://sharelatex"
        GIT_BRIDGE_POSTBACK_BASE_URL: "http://git-bridge:8000"
        GIT_BRIDGE_ROOT_DIR: "/data/git-bridge"
    user: root
    command: ["/server-pro-start.sh"]
```

{% endcode %}
{% endstep %}

{% step %}

### Оновіть конфігурацію контейнера sharelatex

Вам також потрібно зв’язати `git-bridge` контейнер у `sharelatex` контейнері та визначити такі змінні середовища, будь ласка, зверніть увагу на `V1_HISTORY_URL`:

<pre class="language-yaml" data-title="docker-compose.yml (служба sharelatex)"><code class="lang-yaml">sharelatex:
    links:
        - git-bridge
    environment:
         GIT_BRIDGE_ENABLED: true
         GIT_BRIDGE_HOST: "git-bridge"
         GIT_BRIDGE_PORT: "8000"
<strong>         # Тепер ми використовуємо v1; якщо ви раніше задавали V1_HISTORY_URL, будь ласка, оновіть це зараз
</strong><strong>         V1_HISTORY_URL: "http://sharelatex:3054"
</strong></code></pre>

{% endstep %}

{% step %}

### Аутентифікація

Під час автентифікації git-клієнта користувачам потрібен персональний токен доступу. Користувачі можуть керувати персональними токенами доступу через інтерфейс застосунка (див. документацію):

<figure><img src="/files/1cc33909df11f64ceab87deffde30d630951506e" alt=""><figcaption><p>Персональний токен доступу для інтеграції Git</p></figcaption></figure>
{% endstep %}

{% step %}

### Моніторинг і питання ресурсів

Ми рекомендуємо вам стежити за ресурсами хоста після ввімкнення `git-bridge`. Збільшення навантаження залежатиме від:

* кількості користувачів, які користуються цією функцією
* типів проєктів, розміщених у вашому екземплярі (більші проєкти зазвичай потребують більше ресурсів)
  {% endstep %}
  {% endstepper %}

### Переміщення проєктів до S3

Інтеграція Git зберігає на диску повний git-репозиторій для кожного проєкту, який користувач клонуватиме. Якщо у вас обмежений обсяг дискового простору, ви можете увімкнути завдання переміщення, яке переноситиме менш використовувані репозиторії до AWS S3. Якщо переміщений репозиторій знову знадобиться, його буде перенесено назад на диск. Наступні змінні середовища керують завданням переміщення:

| Назва                                 | Опис                                                                                                                                                                           |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `GIT_BRIDGE_SWAPSTORE_TYPE`           | Установіть для цього значення "s3", щоб активувати завдання переміщення.                                                                                                       |
| `GIT_BRIDGE_SWAPSTORE_AWS_ACCESS_KEY` | Ваш ключ доступу AWS                                                                                                                                                           |
| `GIT_BRIDGE_SWAPSTORE_AWS_SECRET`     | Ваш секрет AWS                                                                                                                                                                 |
| `GIT_BRIDGE_SWAPSTORE_S3_BUCKET_NAME` | Цей бакет міститиме zip-архіви git-репозиторіїв                                                                                                                                |
| `GIT_BRIDGE_SWAPSTORE_AWS_REGION`     | Регіон бакета                                                                                                                                                                  |
| `GIT_BRIDGE_SWAPJOB_MIN_PROJECTS`     | <p>Мінімальна кількість проєктів, які слід зберігати на диску.<br><br><strong>- Типово:</strong> 50</p>                                                                        |
| `GIT_BRIDGE_SWAPJOB_LOW_GIB`          | <p>Нижня межа для переміщення. Завдання переміщення переноситиме проєкти, доки використання диска не стане нижчим за це значення.<br><br><strong>- Типово:</strong> 128 ГБ</p> |
| `GIT_BRIDGE_SWAPJOB_HIGH_GIB`         | <p>Верхня межа для переміщення. Завдання переміщення почне переносити проєкти, коли використання диска досягне цього значення.<br><br><strong>- Типово:</strong> 256 ГБ</p>    |
| `GIT_BRIDGE_SWAPJOB_INTERVAL_MILLIS`  | <p>Проміжок часу між перевірками використання диска та запуском завдання переміщення.<br><br><strong>- Типово:</strong> 3600000 мс = 1 година</p>                              |

### Запитання й відповіді

<details>

<summary>Якщо я поділюся своїм проєктом з кимось іншим, як працює модель дозволів Git Bridge?</summary>

Користувачі з доступом лише для читання можуть лише клонувати цей проєкт; користувачі з доступом для читання і запису можуть клонувати проєкти та надсилати зміни. Примітка: щоб приєднатися до цього проєкту, користувачі мають увійти в систему.

</details>


---

# 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/uk/konfiguraciya/overleaf-toolkit/git-integration.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.
