> ## 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.

# Git-integrasjon

Git-integrasjonen er foreløpig bare tilgjengelig i [ayaka-notes/overleaf](https://github.com/ayaka-notes/overleaf).

<Info>
  Denne funksjonen ble opprinnelig utviklet av [ayaka-notes/overleaf-pro](https://github.com/ayaka-notes/overleaf-pro).
</Info>

<Steps>
  <Step title="Aktiver git-bridge (kun for Toolkit-brukere)">
    Hvis du bruker Toolkit, aktiverer du `git-bridge` ved å angi følgende i `config/overleaf.rc`:

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

  <Step title="Legg til git-bridge-containeren (kun for Docker-compose-brukere)">
    Brukere som kjører en egendefinert `docker-compose.yml`, legger til følgende containerkonfigurasjon i compose-filen sin:

    ```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="Oppdater konfigurasjonen av sharelatex-containeren">
    Du må også koble `git-bridge`-containeren til `sharelatex`-containeren og definere følgende miljøvariabler. Vær spesielt oppmerksom på `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="Autentisering">
    Ved autentisering av en git-klient trenger brukerne et personlig tilgangstoken (Personal Access Token). Brukerne kan administrere personlige tilgangstokener i applikasjonens brukergrensesnitt (se dokumentasjonen):

    <Frame caption="Personlig tilgangstoken for Git-integrasjon">
      <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="Overvåking og ressurshensyn">
    Vi anbefaler at du overvåker ressursene på verten etter at du har aktivert `git-bridge`. Økningen i belastning avhenger av:

    * antall brukere som bruker funksjonen
    * hvilke typer prosjekter som ligger i instansen din (større prosjekter krever generelt mer ressurser)
  </Step>
</Steps>

### Flytte prosjekter til S3 (swap)

Git-integrasjonen lagrer et komplett git-repository på disk for hvert prosjekt som en bruker kloner. Hvis du har begrenset diskplass, kan du aktivere en swap-jobb som flytter repositorier som brukes sjeldnere, til AWS S3. Hvis et flyttet repository trengs igjen, flyttes det tilbake til disken. Følgende miljøvariabler styrer swap-jobben:

| Navn | Beskrivelse |
| - | - |
| `GIT_BRIDGE_SWAPSTORE_TYPE` | Sett denne til "s3" for å aktivere swap-jobben. |
| `GIT_BRIDGE_SWAPSTORE_AWS_ACCESS_KEY` | AWS-tilgangsnøkkelen din |
| `GIT_BRIDGE_SWAPSTORE_AWS_SECRET` | AWS-hemmeligheten din |
| `GIT_BRIDGE_SWAPSTORE_S3_BUCKET_NAME` | Denne bucketen vil inneholde de zippede git-repositoriene |
| `GIT_BRIDGE_SWAPSTORE_AWS_REGION` | Bucketens region |
| `GIT_BRIDGE_SWAPJOB_MIN_PROJECTS` | <p>Minste antall prosjekter som skal beholdes på disk.<br /><br /><strong>- Standard:</strong> 50</p> |
| `GIT_BRIDGE_SWAPJOB_LOW_GIB` | <p>Nedre terskel for swapping. Swap-jobben flytter prosjekter til diskbruken er under denne verdien.<br /><br /><strong>- Standard:</strong> 128 GB</p> |
| `GIT_BRIDGE_SWAPJOB_HIGH_GIB` | <p>Øvre terskel for swapping. Swap-jobben begynner å flytte når diskbruken når denne verdien.<br /><br /><strong>- Standard:</strong> 256 GB</p> |
| `GIT_BRIDGE_SWAPJOB_INTERVAL_MILLIS` | <p>Tiden mellom hver kontroll av diskbruk og kjøring av swap-jobben.<br /><br /><strong>- Standard:</strong> 3600000 ms = 1 time</p> |

### Spørsmål og svar

<Accordion title="Hvis jeg deler prosjektet mitt med noen andre, hvordan fungerer tillatelsesmodellen i Git Bridge?">
  Brukere med skrivebeskyttet tilgang kan bare klone prosjektet; brukere med lese- og skrivetilgang kan klone og pushe prosjekter. Merk: Brukerne må være logget inn for å bli med i prosjektet.
</Accordion>


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