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

# Comment déployer n8n sur Square Cloud

> Ce tutoriel vous guidera pour créer et déployer votre application n8n sur Square Cloud.

## Introduction

* Cet article vous guide à travers la création et l'hébergement d'une application n8n sur Square Cloud.
* Avant de commencer, assurez-vous d'avoir un compte sur Square Cloud, ce qui peut se faire via la page d'inscription. Vous pouvez utiliser votre e-mail pour créer un compte.
* Enfin, vous devez disposer d'un plan payant actif avec au moins 4 Go de RAM sur votre compte. Vous pouvez consulter nos plans et en acheter un selon vos besoins [ici](https://squarecloud.app/fr/pricing).

## Création du projet

* Tout d'abord, nous avons besoin d'un environnement JavaScript. Pour cela, il nous faut un package.json.
* Le package.json doit contenir n8n dans le champ des dépendances et doit avoir les scripts pour le démarrer. Voici l'exemple :

```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>
  Nous avons déjà tout prêt pour le déploiement sur notre dépôt [ici](https://github.com/squarecloud-education/n8n-web/releases). Il vous suffit de télécharger le `project.zip` et de le téléverser.
</Info>

## 📁 Fichiers nécessaires

Les fichiers suivants sont nécessaires dans votre zip :

* package.json
* .env (optionnel)

## ⚙️ Fichier de configuration

* Vous devez configurer l'environnement d'exécution sur `Detect manually` et le définir sur `NodeJS`. Dans un fichier squarecloud.config ou squarecloud.app, cela ressemblera à ceci :

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

* Ensuite, nous devons définir 2 variables d'environnement, `N8N_HOST` et `N8N_PORT`, dans un fichier `.env` ou dans l'environnement Square Cloud sur le menu de téléversement. Leurs valeurs doivent être `0.0.0.0` et `80`.

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

## Téléversement du projet sur Square Cloud

Après avoir préparé les fichiers de votre projet, vous pouvez maintenant les téléverser sur Square Cloud et héberger votre projet.

<Tabs>
  <Tab title="Téléversement via le Dashboard">
    Accédez au [Dashboard Square Cloud](https://squarecloud.app/fr/dashboard/new) et téléversez les fichiers de votre projet.

    <Frame>
      <img src="https://cdn.squarecloud.app/docs/articles/dashboard/uploading.gif" alt="Téléversement d'une application vers Square Cloud" style={{ borderRadius: "0.2rem" }} />
    </Frame>
  </Tab>

  <Tab title="Téléversement via la CLI">
    <Steps>
      <Step title="Première étape">
        Tout d'abord, vous devez avoir la CLI installée dans votre environnement. Si vous ne l'avez pas encore, exécutez la commande suivante dans votre terminal :

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

        Si vous l'avez déjà, nous vous recommandons de la mettre à jour. Pour ce faire, exécutez la commande suivante dans votre terminal :

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

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

      <Step title="Deuxième étape">
        Maintenant, pour vous authentifier et utiliser les autres commandes de la CLI, vous trouverez votre clé d'autorisation [ici](https://squarecloud.app/fr/account/security) en cliquant sur "Request API Key". Après avoir obtenu votre clé d'autorisation, exécutez la commande suivante :

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

      <Step title="Troisième étape">
        Enfin, pour déployer votre application sur Square Cloud via la CLI, vous devez exécuter la commande suivante en passant le chemin de votre fichier zip :

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