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

# Iniziare su Square Cloud con Bun

> Scopri come iniziare su Square Cloud con Bun JS

## 🚀 Introduzione

* Prima di iniziare, puoi scegliere di utilizzare il runtime Bun nel tuo progetto. Se non hai ancora Bun installato localmente, hai due opzioni principali:

* Installazione tramite npm (consigliata per la compatibilità con `npx` durante il deploy):

```bash theme={null}
npm install bun
```

* Oppure installa Bun tramite l'installer ufficiale (consulta la documentazione di Bun per le istruzioni di installazione nativa).

* Aggiungendo `bun` come dipendenza, puoi utilizzare `npx bun` nel campo `START` di `squarecloud.app` per avviare la tua applicazione con Bun. Vedi più avanti nella sezione "Avviare l'applicazione" per esempi di `START`.

* Successivamente, dovrai creare un account su Square Cloud, cosa che puoi fare tramite la [pagina di accesso](https://squarecloud.app/it/signup). Puoi usare la tua email, GitHub o entrambi per creare l'account.

* Infine, devi avere un piano a pagamento attivo sul tuo account. Puoi visualizzare i nostri piani e acquistarne uno in base alle tue esigenze [qui](https://squarecloud.app/it/pricing).

## ⚙️ Configurazione del file squarecloud.app

<Note>
  Se stai caricando la tua applicazione tramite il sito web di Square Cloud, puoi ignorare questa sezione. Il sito crea automaticamente il file di configurazione `squarecloud.app` per te.
</Note>

<Card title="Scopri di più: come creare il file di configurazione per Square Cloud." icon="link" href="https://docs.squarecloud.app/it/getting-started/config-file">
  Il file squarecloud.app è un file di configurazione che verrà utilizzato per
  configurare la tua applicazione; servirà a definire il nome, la descrizione,
  la versione, il file principale, tra le altre cose.
</Card>

## ▶️ Come avviare la tua applicazione

* Per utilizzare il runtime Bun nell'ambiente Node.js di Square Cloud, aggiungi prima il pacchetto `bun` al tuo progetto (ad esempio `npm install bun`) in modo che il comando `npx bun` sia disponibile nell'ambiente di runtime.
* Quindi, imposta il campo `START` nel tuo `squarecloud.app` con il comando che avvia la tua applicazione usando Bun. Esempio:

```squarecloud.app OR .config theme={null}
START=npx bun main.js
```

In alternativa, se hai bisogno di eseguire gli script di package.json con bun, usa:

```
START=npx bun run start
```

* Ricorda: se il campo `START` è definito, il valore in esso contenuto verrà eseguito direttamente. Per maggiori informazioni sui parametri del file di configurazione, visita [parametri di configurazione](https://docs.squarecloud.app/it/getting-started/config-file#configuration-parameters).

* Se la cartella `node_modules` non esiste, Square Cloud eseguirà `npm install --no-package-lock --no-audit --no-fund` per installare le dipendenze e pulire la cartella `.npm`.

Se intendi utilizzare Bun come runtime, ti consigliamo di aggiungere `bun` come dipendenza (`npm install bun`) per garantire che `npx bun` sia disponibile nell'ambiente di runtime durante il deploy. Nei progetti in cui preferisci utilizzare l'installer nativo di Bun, verifica la compatibilità e i requisiti di build prima di optare per questo approccio.

## 🖥️ Preparare il progetto

### 📁 File di configurazione essenziali

Quando prepari il tuo progetto BUN per il deploy su Square Cloud, assicurati di includere il file di configurazione (`squarecloud.app/.config`) e i file essenziali della tua applicazione all'interno di un file zip.

<Warning>Il file di configurazione (`squarecloud.app/.config`) deve trovarsi nella radice del file zip. Altrimenti, Square Cloud non sarà in grado di trovarlo durante il deploy.</Warning>

#### 🗑️ File da escludere prima del caricamento

* `node_modules`: Questa cartella non deve essere caricata poiché verrà ricreata durante l'installazione in produzione.
* `package-lock.json`: Questo file non è necessario poiché l'ambiente di produzione installerà le dipendenze in base a `package.json`.

### 🤔 Perché escludere questi file?

Ci sono diverse ragioni per escludere `node_modules` e `package-lock.json` prima di caricare il tuo progetto:

1. **Coerenza dell'installazione:** Non caricare `node_modules` garantisce che le dipendenze vengano installate dall'ambiente di produzione, con il risultato di una build coerente e priva di discrepanze del sistema locale.

2. **Installazioni aggiornate:** L'ambiente di produzione installerà le versioni compatibili più recenti delle dipendenze elencate in `package.json`, offrendo un avvio pulito per la tua applicazione.

3. **Riduzione delle dimensioni del caricamento:** Non includere queste cartelle riduce la dimensione del file caricato, velocizzando il processo di caricamento e rendendo il deploy più efficiente.

Facendo questo, garantisci che la tua applicazione BUN sia preparata in modo ottimale per l'hosting su Square Cloud.

### 📄 File richiesti

Tre file sono necessari per ospitare il tuo progetto BUN:

* [squarecloud.app/.config](https://docs.squarecloud.app/it/getting-started/config-file)
* mainFile.js/.ts (Esempio di file principale)
* [package.json](./how-to-create-your-package-json) (File delle dipendenze)

## 💡 Risoluzione dei problemi

<AccordionGroup>
  <Accordion title="Il file principale non è valido o è corrotto" icon="file" iconType="solid">
    Questo errore si verifica quando il file definito come "main" per la tua applicazione nel
    file di configurazione non esiste, è scritto in modo errato, oppure il percorso
    è sbagliato. Se il tuo file principale si trova all'interno di una cartella, ad
    esempio, devi indicare `folder/file.js`.
  </Accordion>

  <Accordion title="Memoria insufficiente" icon="memory" iconType="solid">
    La quantità minima di RAM richiesta per ospitare un bot è 256MB e per
    un sito/API è 512MB. Tuttavia, a seconda delle dimensioni e della complessità della
    tua applicazione, potrebbe essere consigliabile allocare una quantità maggiore di RAM per
    evitare che la tua applicazione esaurisca la memoria e vada in crash.
  </Accordion>
</AccordionGroup>

## 📤 Come ospitare il tuo progetto

Ora che hai preparato tutti i file per il tuo progetto Bun, il passo successivo è caricarli su Square Cloud e mettere online la tua applicazione. Esistono diversi modi per caricare, ma ne tratteremo due: tramite Dashboard o tramite CLI.

### Tramite dashboard

<Steps>
  <Step title="Accedi alla pagina di upload">
    Accedi alla [pagina di upload](https://squarecloud.app/it/dashboard/new) e carica il file zip del tuo progetto.
  </Step>

  <Step title="Configura il tuo ambiente">
    Dopo aver caricato il tuo zip, dovrai configurare il nome, il file principale o il runtime environment e altre impostazioni per il tuo progetto.\
    Se stai caricando un progetto web, assicurati di selezionare "Web Publication" e di impostare un sottodominio per il tuo progetto.
  </Step>

  <Step title="Esegui il deploy del tuo progetto">
    Infine, clicca sul pulsante "Deploy" per ospitare il tuo progetto su Square Cloud.\
    Dopo il deploy, puoi monitorare lo stato e i log del tuo progetto dalla dashboard.

    <Frame>
      <img src="https://cdn.squarecloud.app/docs/articles/dashboard/uploading.gif" alt="Caricamento dell'applicazione su Square Cloud" style={{ borderRadius: "0.2rem" }} />
    </Frame>
  </Step>
</Steps>

### Tramite CLI

Per utilizzare questo metodo, devi creare un file di configurazione chiamato `squarecloud.app` nella directory principale del tuo progetto. Questo file conterrà la configurazione necessaria per il tuo progetto.

<Card title="Scopri di più su: come creare il file di configurazione per Square Cloud." icon="link" href="/it/getting-started/config-file">
  Il file squarecloud.app è un file di configurazione che verrà utilizzato per configurare la tua applicazione; verrà usato per definire il tuo ambiente.
</Card>

<Steps>
  <Step title="Installa la CLI">
    Per prima cosa, devi avere la CLI installata nel tuo ambiente. Se non la hai ancora, esegui il seguente comando nel tuo terminale:

    ```
    npm install -g @squarecloud/cli
    ```

    Se la hai già, ti consigliamo di aggiornarla. Per farlo, esegui il seguente comando nel tuo terminale:

    <Tabs>
      <Tab title="Windows">
        ```bash theme={null}
        squarecloud update
        ```
      </Tab>

      <Tab title="Linux, macOS e WSL">
        ```bash theme={null}
        curl -fsSL https://cli.squarecloud.app/install | bash
        ```
      </Tab>
    </Tabs>
  </Step>

  <Step title="Autenticati">
    Ora, per autenticarti e utilizzare gli altri comandi della CLI, troverai la tua chiave di autorizzazione [qui](https://squarecloud.app/it/account/security) cliccando su "Request API Key". Dopo aver ottenuto la tua chiave di autorizzazione, esegui il seguente comando:

    ```bash theme={null}
    squarecloud auth login
    ```
  </Step>

  <Step title="Carica il tuo progetto">
    Infine, per eseguire il deploy della tua applicazione su Square Cloud tramite la CLI, devi eseguire il seguente comando:

    ```bash theme={null}
    squarecloud upload 
    ```

    Oppure, se hai creato lo zip manualmente, puoi usare:

    ```bash theme={null}
    squarecloud upload --file <path/to/zip> 
    ```
  </Step>
</Steps>

## Contattaci

Se continui a riscontrare **difficoltà tecniche**, il nostro **team di supporto specializzato** è disponibile ad assisterti. [**Contattaci**](https://squarecloud.app/it/support) e saremo felici di aiutarti a risolvere qualsiasi problema.
