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

# So deployst du n8n auf Square Cloud

> Dieses Tutorial führt dich durch die Erstellung und das Deployment deiner n8n-Anwendung auf Square Cloud.

## Einführung

* Dieser Artikel führt dich durch die Erstellung und das Hosten einer n8n-Anwendung auf Square Cloud.
* Bevor du beginnst, stelle sicher, dass du ein Konto bei Square Cloud hast, was über die Registrierungsseite möglich ist. Du kannst deine E-Mail-Adresse verwenden, um ein Konto zu erstellen.
* Schließlich benötigst du einen aktiven bezahlten Plan mit mindestens 4GB RAM auf deinem Konto. Du kannst unsere Pläne ansehen und einen nach deinen Bedürfnissen [hier](https://squarecloud.app/de/pricing) erwerben.

## Projekt erstellen

* Zunächst benötigen wir eine JavaScript-Umgebung. Dazu benötigen wir eine package.json.
* Die package.json muss im Feld dependencies das Paket n8n enthalten und die Skripte zum Starten haben. Hier ist das Beispiel:

```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>
  Wir haben bereits alles für das Deployment in unserem Repository [hier](https://github.com/squarecloud-education/n8n-web/releases) vorbereitet. Du musst nur die `project.zip` herunterladen und hochladen.
</Info>

## 📁 Erforderliche Dateien

Die folgenden Dateien sind in deiner ZIP erforderlich:

* package.json
* .env (optional)

## ⚙️ Konfigurationsdatei

* Du musst die Laufzeitumgebung auf `Detect manually` konfigurieren und sie auf `NodeJS` setzen. In einer squarecloud.config oder squarecloud.app sieht das so aus:

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

* Als Nächstes müssen wir 2 Umgebungsvariablen festlegen, `N8N_HOST` und `N8N_PORT`, in einer `.env`-Datei oder in der Square-Cloud-Umgebung im Upload-Menü. Ihre Werte müssen `0.0.0.0` und `80` sein.

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

## Das Projekt auf Square Cloud hochladen

Nachdem du deine Projektdateien vorbereitet hast, kannst du sie nun auf Square Cloud hochladen und dein Projekt hosten.

<Tabs>
  <Tab title="Upload über das Dashboard">
    Rufe das [Square Cloud Dashboard](https://squarecloud.app/de/dashboard/new) auf und lade deine Projektdateien hoch.

    <Frame>
      <img src="https://cdn.squarecloud.app/docs/articles/dashboard/uploading.gif" alt="Anwendung wird auf Square Cloud hochgeladen" style={{ borderRadius: "0.2rem" }} />
    </Frame>
  </Tab>

  <Tab title="Upload über die CLI">
    <Steps>
      <Step title="Erster Schritt">
        Zunächst musst du die CLI in deiner Umgebung installiert haben. Falls du sie noch nicht hast, führe den folgenden Befehl in deinem Terminal aus:

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

        Falls du sie bereits hast, empfehlen wir, sie zu aktualisieren. Führe dazu den folgenden Befehl in deinem Terminal aus:

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

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

      <Step title="Zweiter Schritt">
        Um dich nun zu authentifizieren und weitere CLI-Befehle zu nutzen, findest du deinen Autorisierungsschlüssel [hier](https://squarecloud.app/de/account/security), indem du auf "Request API Key" klickst. Nachdem du deinen Autorisierungsschlüssel erhalten hast, führe den folgenden Befehl aus:

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

      <Step title="Dritter Schritt">
        Um deine Anwendung schließlich mit der CLI auf Square Cloud zu deployen, musst du den folgenden Befehl ausführen und dabei den Pfad zu deiner ZIP-Datei angeben:

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