> 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/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: always
    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-клієнта користувачам потрібен Personal Access Token. Користувачі можуть керувати Personal Access Token через інтерфейс застосунку (див. документацію):

<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://ayakaleaf-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.
