> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Integrace s Gitem

Integrace s Gitem je v současnosti k dispozici pouze v [ayaka-notes/overleaf](https://github.com/ayaka-notes/overleaf).

<Info>
  Tuto funkci původně vyvinul [ayaka-notes/overleaf-pro](https://github.com/ayaka-notes/overleaf-pro).
</Info>

<Steps>
  <Step title="Povolení git-bridge (pouze pro uživatele Toolkitu)">
    Pokud používáte Toolkit, povolte `git-bridge` nastavením následující hodnoty v souboru `config/overleaf.rc`:

    ```text title="config/overleaf.rc" theme={null}
    GIT_BRIDGE_ENABLED=true
    ```
  </Step>

  <Step title="Přidání kontejneru git-bridge (pouze pro uživatele Docker-compose)">
    Uživatelé s vlastním souborem `docker-compose.yml` přidají do svého compose souboru následující konfiguraci kontejneru:

    ```yaml title="docker-compose.yml (git-bridge service)" wrap theme={null}
    git-bridge:
        restart: always
        image: ghcr.io/ayaka-notes/overleaf-pro/git-bridge:6.3.0 # tag should match the `sharelatex` container tag
        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/" for version 4.1.6 and earlier
            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"]
    ```
  </Step>

  <Step title="Aktualizace konfigurace kontejneru sharelatex">
    Dále je třeba propojit kontejner `git-bridge` s kontejnerem `sharelatex` a definovat následující proměnné prostředí. Věnujte pozornost proměnné `V1_HISTORY_URL`:

    ```yaml title="docker-compose.yml (sharelatex service)" theme={null}
    sharelatex:
        links:
            - git-bridge
        environment:
             GIT_BRIDGE_ENABLED: true
             GIT_BRIDGE_HOST: "git-bridge"
             GIT_BRIDGE_PORT: "8000"
             # We use v1 now, if you used to set V1_HISTORY_URL, please update now
             V1_HISTORY_URL: "http://sharelatex:3100/api"
    ```
  </Step>

  <Step title="Ověřování">
    Při ověřování git klienta potřebují uživatelé osobní přístupový token (Personal Access Token). Osobní přístupové tokeny mohou uživatelé spravovat v uživatelském rozhraní aplikace (viz dokumentace):

    <Frame caption="Osobní přístupový token pro integraci s Gitem">
      <img src="https://mintcdn.com/ayakaleaf-pro/x9kfDjtWlyyhG_mR/images/on-premises/image-28.png?fit=max&auto=format&n=x9kfDjtWlyyhG_mR&q=85&s=08935524562eec75d1fcd20d14791f9a" alt="" width="1374" height="869" data-path="images/on-premises/image-28.png" />
    </Frame>
  </Step>

  <Step title="Monitorování a nároky na prostředky">
    Po povolení `git-bridge` doporučujeme sledovat prostředky hostitele. Nárůst zátěže bude záviset na:

    * počtu uživatelů, kteří funkci používají
    * typech projektů hostovaných ve vaší instanci (větší projekty jsou obecně náročnější na prostředky)
  </Step>
</Steps>

### Odkládání projektů do S3

Integrace s Gitem ukládá na disk úplný git repozitář pro každý projekt, který si některý uživatel naklonuje. Pokud máte omezené místo na disku, můžete aktivovat odkládací úlohu (swap job), která přesune méně používané repozitáře do AWS S3. Pokud je odložený repozitář znovu potřeba, přesune se zpět na disk. Odkládací úlohu řídí následující proměnné prostředí:

| Název | Popis |
| - | - |
| `GIT_BRIDGE_SWAPSTORE_TYPE` | Nastavením na "s3" aktivujete odkládací úlohu. |
| `GIT_BRIDGE_SWAPSTORE_AWS_ACCESS_KEY` | Váš přístupový klíč AWS |
| `GIT_BRIDGE_SWAPSTORE_AWS_SECRET` | Váš tajný klíč AWS |
| `GIT_BRIDGE_SWAPSTORE_S3_BUCKET_NAME` | Tento bucket bude obsahovat zazipované git repozitáře |
| `GIT_BRIDGE_SWAPSTORE_AWS_REGION` | Region bucketu |
| `GIT_BRIDGE_SWAPJOB_MIN_PROJECTS` | <p>Minimální počet projektů, které se mají ponechat na disku.<br /><br /><strong>- Výchozí:</strong> 50</p> |
| `GIT_BRIDGE_SWAPJOB_LOW_GIB` | <p>Dolní mez pro odkládání. Odkládací úloha bude přesouvat projekty, dokud využití disku neklesne pod tuto hodnotu.<br /><br /><strong>- Výchozí:</strong> 128 GB</p> |
| `GIT_BRIDGE_SWAPJOB_HIGH_GIB` | <p>Horní mez pro odkládání. Odkládací úloha začne odkládat, jakmile využití disku dosáhne této hodnoty.<br /><br /><strong>- Výchozí:</strong> 256 GB</p> |
| `GIT_BRIDGE_SWAPJOB_INTERVAL_MILLIS` | <p>Doba mezi kontrolami využití disku a spuštěním odkládací úlohy.<br /><br /><strong>- Výchozí:</strong> 3600000 ms = 1 hodina</p> |

### Otázky a odpovědi

<Accordion title="Pokud svůj projekt sdílím s někým dalším, jak funguje model oprávnění Git Bridge?">
  Uživatelé s přístupem pouze pro čtení mohou projekt pouze klonovat; uživatelé s přístupem pro čtení i zápis mohou projekty klonovat i do nich pushovat. Poznámka: Aby se uživatelé mohli k projektu připojit, musí být přihlášeni.
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.