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

# Che cos'è l'Ayakaleaf Toolkit?

L'Ayakaleaf Toolkit è il metodo di distribuzione consigliato per le installazioni on-premises della Community Edition e di Ayakaleaf Pro ed è stato progettato per funzionare nell'ambiente più comune: un singolo server fisico o una macchina virtuale. Il Toolkit usa `docker compose` per gestire i container Docker del server e fornisce una serie di script che incapsulano i comandi `docker` per aiutarti con gli aspetti più tecnici della gestione di una versione on-premises di Overleaf.

#### Il wrapper `bin/docker-compose`

Lo script `bin/docker-compose` è un wrapper di `docker compose`. Carica la configurazione dalla directory `config/` e poi invoca `docker compose` con gli argomenti passati allo script.

Puoi considerare `bin/docker-compose` come un wrapper trasparente del programma `docker compose` installato sulla tua macchina.

Esempio:

```bash title="Check running containers" theme={null}
$ bin/docker-compose ps
```

#### Script di utilità

Oltre a `bin/docker-compose`, il Toolkit fornisce comodi script per le attività più comuni:

* `bin/up`: scorciatoia per `bin/docker-compose up`
* `bin/start`: scorciatoia per `bin/docker-compose start`
* `bin/stop`: scorciatoia per `bin/docker-compose stop`
* `bin/shell`: avvia una shell all'interno del container **sharelatex**
* `bin/doctor`: script che raccoglie informazioni sull'installazione e sulla distribuzione. Consulta la sezione "Verificare il server" più avanti
* `bin/mongo`: avvia una shell all'interno del container **mongo** e passa al database corretto (**sharelatex**)
* `bin/backup-config`: crea una copia (zip o tar) della configurazione attuale e la salva in una directory di destinazione a tua scelta
* `bin/logs`: visualizza/segue i log dei servizi
* `bin/error-logs`: visualizza/segue i log degli errori dei servizi
* `bin/rename-env-vars-5-0`: script di migrazione per aggiornare le variabili d'ambiente in **config/variables.env** (cambio di nome da ShareLaTeX a Overleaf)
* `bin/rename-rc-vars`: script di migrazione per aggiornare le variabili d'ambiente in **config/overleaf.rc** (cambio di nome da ShareLaTeX a Overleaf)
* `bin/run-script`: helper che semplifica l'esecuzione degli script presenti all'interno del container **sharelatex**
* `bin/upgrade`: aiuta ad aggiornare l'istanza. Lo script verifica la presenza di aggiornamenti del Toolkit (tramite git) e propone di scaricare le modifiche, controlla la versione più recente dell'immagine Docker e propone di aggiornarla. Chiede conferma passo per passo, offre la possibilità di eseguire un backup della configurazione attuale e gestisce l'arresto e l'avvio dei servizi Docker. Per maggiori informazioni consulta Aggiornare la distribuzione: [https://docs.overleaf.com/on-premises/maintenance/upgrading-your-deployment](https://docs.overleaf.com/on-premises/maintenance/upgrading-your-deployment)

<Info>
  Se preferisci eseguire l'istanza senza collegarti ai log di Docker, puoi eseguire `bin/up -d` per avviarla in modalità detached.
</Info>

#### Verificare il server

L'Overleaf Toolkit include un pratico script chiamato `bin/doctor` che genera un report indicando eventuali dipendenze mancanti.

Prima di continuare, esegui lo script `bin/doctor` e verifica che tutto funzioni correttamente:

```bash title="Run Overleaf Doctor" theme={null}
bin/doctor
```

Esempio di output (troncato/illustrativo):

<Accordion title="Esempio di output di bin/doctor">
  ```text theme={null}
  ====== Overleaf Doctor ======
  - Host Information
      - Linux
      - Output of 'lsb_release -a':
              No LSB modules are available.
              Distributor ID:     Ubuntu
              Description:        Ubuntu 22.04.5 LTS
              Release:    22.04
              Codename:   jammy
  - Dependencies
      - bash
          - status: present
          - version info: 5.1.16(1)-release
      - docker
          - status: present
          - version info: Docker version 27.3.1, build ce12230
      - realpath
          - status: present
          - version info: realpath (GNU coreutils) 8.32
      - perl
          - status: present
          - version info: 5.034000
      - awk
          - status: present
          - version info: GNU Awk 5.1.0, API: 3.0 (GNU MPFR 4.1.0, GNU MP 6.2.1)
      - openssl
          - status: present
          - version info: OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
      - docker compose
          - status: present
          - version info: Docker Compose version v2.29.7
  - Docker Daemon
      - status: up
  ====== Configuration ======
  - config/version
      - status: present
      - version: 5.1.1
  - config/overleaf.rc
      - status: present
      - values
          - OVERLEAF_DATA_PATH: data/overleaf
          - OVERLEAF_LOG_PATH: data/overleaf/logs
          - SERVER_PRO: true
              - logged in to quay.io: true
          - SIBLING_CONTAINERS_ENABLED: true
          - OVERLEAF_LISTEN_IP: 0.0.0.0
          - OVERLEAF_PORT: 80
          - MONGO_ENABLED: true
          - MONGO_IMAGE: mongo
          - MONGO_VERSION: 6.0
          - MONGO_DATA_PATH: data/mongo
          - REDIS_ENABLED: true
          - REDIS_IMAGE: redis:6.2
          - REDIS_DATA_PATH: data/redis
  - config/variables.env
      - status: present
      - values
          - OVERLEAF_FILESTORE_BACKEND: fs
          - OVERLEAF_HISTORY_BACKEND: fs
  ====== Warnings ======
  - None, all good
  ====== End ======
  ```
</Accordion>

Se mancano delle dipendenze, il doctor mostrerà degli avvisi. Se riscontri problemi, esegui prima `bin/doctor` e controlla se il suo output contiene avvisi.

<Info>
  * Gli utenti di Ayakaleaf Pro Edition possono aprire una issue su GitHub: [https://github.com/ayaka-notes/toolkit/issues](https://github.com/ayaka-notes/toolkit/issues)

  In entrambi i casi, includi nel messaggio l'output di `bin/doctor`.
</Info>


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