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

# Come fare il deploy di n8n su Square Cloud

> Questo tutorial ti guiderà nella creazione e nel deploy della tua applicazione n8n su Square Cloud.

## Introduzione

* Questo articolo ti guida nella creazione e nell'hosting di un'applicazione n8n su Square Cloud.
* Prima di iniziare, assicurati di avere un account su Square Cloud, cosa che puoi fare tramite la pagina di registrazione. Puoi usare la tua email per creare un account.
* Infine, devi avere un piano a pagamento attivo con almeno 4GB di RAM sul tuo account. Puoi vedere i nostri piani e acquistarne uno in base alle tue esigenze [qui](https://squarecloud.app/it/pricing).

## Creazione del progetto

* Prima di tutto abbiamo bisogno di un ambiente javascript. Per farlo, ci serve un package.json.
* Il package.json deve contenere nel campo dependencies n8n e deve avere gli script per avviarlo. Ecco l'esempio:

```json package.json theme={null}
{
  "name": "squarecloud-n8n",
  "version": "1.0.0",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "start": "n8n"
  },
  "author": "Square Cloud Education <squarecloud.app>",
  "license": "ISC",
  "dependencies": {
    "n8n": "latest"
  }
}
```

<Info>
  Abbiamo già tutto pronto per il deploy nel nostro repository [qui](https://github.com/squarecloud-education/n8n-web/releases). Devi solo scaricare il `project.zip` e caricarlo.
</Info>

## 📁 File necessari

I seguenti file sono necessari nel tuo zip:

* package.json
* .env (opzionale)

## ⚙️ File di configurazione

* Devi configurare l'ambiente runtime su `Detect manually` e impostarlo su `NodeJS`. In un squarecloud.config o squarecloud.app apparirà così:

```systemd squarecloud theme={null}
DISPLAY_NAME=App name
RUNTIME=nodejs
START=npm run start
MEMORY=3072
VERSION=recommended
SUBDOMAIN=my-n8n-subdomain
```

* Successivamente, dobbiamo impostare 2 variabili d'ambiente, `N8N_HOST` e `N8N_PORT` in un file `.env` o nell'ambiente di Square Cloud dal menu di upload. I loro valori devono essere `0.0.0.0` e `80`.

```systemd .env theme={null}
N8N_HOST=0.0.0.0
N8N_PORT=80
```

## Caricamento del progetto su Square Cloud

Dopo aver preparato i file del tuo progetto, puoi ora caricarli su Square Cloud e ospitare il tuo progetto.

<Tabs>
  <Tab title="Upload tramite Dashboard">
    Accedi alla [Square Cloud Dashboard](https://squarecloud.app/it/dashboard/new) e carica i file del tuo progetto.

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

  <Tab title="Upload tramite CLI">
    <Steps>
      <Step title="Primo passo">
        Innanzitutto, 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="Secondo passo">
        Ora, per autenticarti e usare 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="Terzo passo">
        Infine, per fare il deploy della tua applicazione su Square Cloud usando la CLI, devi eseguire il seguente comando, passando il percorso del tuo file zip:

        ```bash theme={null}
        squarecloud upload zip
        ```
      </Step>
    </Steps>
  </Tab>
</Tabs>
