> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Laravel Cloud - GitHub Copilot SDK for Laravel

> Descrive l'installazione di Copilot CLI, le variabili d'ambiente e gli aspetti operativi delle modalità stdio/TCP per usare Laravel Copilot SDK su Laravel Cloud.

## Uso su Laravel Cloud

## Installazione

In **Settings > Deployments > Build commands** aggiungi quanto segue e distribuisci.

```shell theme={null}
export PATH="$PATH:/var/www/.local/bin"
curl -fsSL https://gh.io/copilot-install | bash
/var/www/.local/bin/copilot --version
```

Il percorso del CLI è `/var/www/.local/bin/copilot`, quindi imposta quanto segue in **Custom environment variables**.

```dotenv theme={null}
COPILOT_CLI_PATH=/var/www/.local/bin/copilot
COPILOT_GITHUB_TOKEN=
```

In `COPILOT_GITHUB_TOKEN` puoi usare qualsiasi metodo di autenticazione supportato da Copilot CLI, come `GH_TOKEN` o `GITHUB_TOKEN`.

Se usi la modalità stdio predefinita, questa installazione è sufficiente.

## Esecuzione in modalità TCP

In **App cluster > Background processes > Custom worker** imposta `/var/www/.local/bin/copilot --headless --port 12345`.
Rimarrà in esecuzione come processo in background e sarà riavviato automaticamente al deploy.

Il numero di porta è arbitrario.

In **Custom environment variables** imposta `COPILOT_URL`.

```dotenv theme={null}
COPILOT_URL=tcp://127.0.0.1:12345
# COPILOT_CLI_PATH non è necessario in modalità TCP. Se sono presenti entrambi, ha priorità la modalità TCP.
```

Poiché resta sempre in esecuzione, il consumo di memoria è elevato e potrebbe servire un server con almeno 2 GiB di RAM.
Se usato in una richiesta HTTP tende a non completarsi entro 60 secondi e a fallire, quindi è consigliato eseguirlo in una queue.

Su Laravel Cloud la modalità TCP non è molto pratica, quindi consigliamo la modalità stdio.

Puoi usarla anche nel Worker cluster dei piani superiori. Utile per evitare la carenza di memoria nell'App cluster.

## Considerazioni

* I server a basso costo tendono ad avere memoria insufficiente.
* Il timeout HTTP predefinito è 20 secondi. Se hai molti fallimenti, estendilo fino a 60 secondi.

<Info>
  Per le informazioni più recenti fai riferimento al [repository GitHub](https://github.com/invokable/laravel-copilot-sdk).
</Info>


## Related topics

- [GitHub Copilot SDK for Laravel](/it/packages/laravel-copilot-sdk/index.md)
- [GitHub Actions - GitHub Copilot SDK for Laravel](/it/packages/laravel-copilot-sdk/github-actions.md)
- [Introduzione - GitHub Copilot SDK for Laravel](/it/packages/laravel-copilot-sdk/getting-started.md)
- [Testing - GitHub Copilot SDK for Laravel](/it/packages/laravel-copilot-sdk/fake.md)
- [Autenticazione - GitHub Copilot SDK for Laravel](/it/packages/laravel-copilot-sdk/auth.md)
