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

# Erste Schritte auf Square Cloud mit Deno

> Erfahren Sie, wie Sie auf Square Cloud mit Deno starten

## 🚀 Einführung

* Bevor Sie beginnen, können Sie sich dafür entscheiden, die Deno-Runtime in Ihrem Projekt zu verwenden. Wenn Sie Deno noch nicht lokal installiert haben, stehen Ihnen zwei Hauptoptionen zur Verfügung:

* Installation über npm (empfohlen für die Kompatibilität mit `npx` während des Deploys):

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

* Oder installieren Sie Deno über den offiziellen Installer (lesen Sie die Deno-Dokumentation für Anweisungen zur nativen Installation).

* Indem Sie `deno` als Abhängigkeit hinzufügen, können Sie `npx deno` im `START`-Feld von `squarecloud.app` verwenden, um Ihre Anwendung mit Deno zu starten. Siehe unten im Abschnitt „Anwendung starten“ für `START`-Beispiele.

* Als Nächstes müssen Sie ein Konto bei Square Cloud erstellen, was über die [Anmeldeseite](https://squarecloud.app/de/signup) möglich ist. Sie können Ihre E-Mail, GitHub oder beides verwenden, um das Konto zu erstellen.

* Schließlich benötigen Sie einen aktiven kostenpflichtigen Plan auf Ihrem Konto. Sie können unsere Pläne einsehen und einen entsprechend Ihren Bedürfnissen [hier](https://squarecloud.app/de/pricing) erwerben.

## ⚙️ Konfiguration der squarecloud.app-Datei

<Note>
  Wenn du deine Anwendung über die Square Cloud Website hochlädst, kannst du diesen Abschnitt ignorieren. Die Website erstellt die `squarecloud.app` Konfigurationsdatei automatisch für dich.
</Note>

<Card title="Mehr erfahren: So erstellst du die Konfigurationsdatei für Square Cloud." icon="link" href="https://docs.squarecloud.app/de/getting-started/config-file">
  Die squarecloud.app Datei ist eine Konfigurationsdatei, die zur
  Konfiguration deiner Anwendung verwendet wird; sie dient dazu, den Namen, die
  Beschreibung, die Version, die Hauptdatei und weiteres zu definieren.
</Card>

## ▶️ So starten Sie Ihre Anwendung

* Um die Deno-Runtime in der Node.js-Umgebung von Square Cloud zu verwenden, fügen Sie zunächst das `deno`-Paket zu Ihrem Projekt hinzu (z. B. `npm install deno`), damit der Befehl `npx deno` in der Runtime-Umgebung verfügbar ist.
* Legen Sie dann das `START`-Feld in Ihrer `squarecloud.app` mit dem Befehl fest, der Ihre Anwendung mit Deno startet. Beispiele:

```squarecloud.app OR .config theme={null}
START=npx deno run --allow-net --allow-env main.ts
```

Wenn Sie in `deno.json` definierte Tasks verwenden, können Sie so starten:

```
START=npx deno task start
```

* Passen Sie die Berechtigungen (`--allow-net`, `--allow-env`, `--allow-read` usw.) entsprechend den Anforderungen Ihrer Anwendung an.

* Denken Sie daran: Wenn das `START`-Feld definiert ist, wird der darin enthaltene Wert direkt ausgeführt. Weitere Informationen zu den Parametern der Konfigurationsdatei finden Sie unter [Konfigurationsparameter](https://docs.squarecloud.app/de/getting-started/config-file#configuration-parameters).

* Wenn Sie npm-Module mit Deno verwenden und der Ordner `node_modules` nicht existiert, führt Square Cloud `npm install --no-package-lock --no-audit --no-fund` aus, um die Abhängigkeiten zu installieren und den Ordner `.npm` zu bereinigen.

Wenn Sie Deno als Runtime verwenden möchten, empfehlen wir, `deno` als Abhängigkeit hinzuzufügen (`npm install deno`), um sicherzustellen, dass `npx deno` während des Deploys in der Runtime-Umgebung verfügbar ist. Bei Projekten, in denen Sie den nativen Deno-Installer bevorzugen, prüfen Sie die Kompatibilität und Ihre Build-Anforderungen, bevor Sie sich für diesen Ansatz entscheiden.

## 🖥️ Vorbereitung des Projekts

### 📁 Wesentliche Konfigurationsdateien

Wenn Sie Ihr Deno-Projekt für den Deploy auf Square Cloud vorbereiten, stellen Sie sicher, dass Sie die Konfigurationsdatei (`squarecloud.app/.config`) und die wesentlichen Dateien Ihrer Anwendung in eine Zip-Datei aufnehmen.

<Warning>Die Konfigurationsdatei (`squarecloud.app/.config`) muss sich im Stammverzeichnis der Zip-Datei befinden. Andernfalls kann Square Cloud sie während des Deploys nicht finden.</Warning>

#### 🗑️ Vor dem Hochladen auszuschließende Dateien

* `node_modules`: Nur erforderlich, wenn Sie npm-Module verwenden; andernfalls nicht hochladen, um die Upload-Größe zu reduzieren.
* `package-lock.json`: Die Produktionsumgebung installiert die Abhängigkeiten auf Basis von `package.json`, wenn eine npm-Nutzung erkannt wird.
* `deno_dir` oder `.cache/deno`: Deno-Cache-Verzeichnis; für den Deploy nicht erforderlich.

### 🤔 Warum diese Dateien ausschließen?

Es gibt mehrere Gründe, `node_modules`, `package-lock.json` und den Deno-Cache vor dem Hochladen Ihres Projekts auszuschließen:

1. **Installationskonsistenz:** Wenn Sie `node_modules` nicht hochladen, stellen Sie sicher, dass die Abhängigkeiten von der Produktionsumgebung installiert werden, was zu einem konsistenten Build frei von Diskrepanzen des lokalen Systems führt.

2. **Aktualisierte Installationen:** Die Produktionsumgebung installiert die neuesten kompatiblen Versionen der in `package.json` aufgeführten Abhängigkeiten (sofern zutreffend) oder verwendet die in `deno.json` definierten Remote-Importe.

3. **Reduzierung der Upload-Größe:** Wenn Sie diese Verzeichnisse nicht einbeziehen, verringert sich die Größe der hochgeladenen Datei, was den Upload-Vorgang beschleunigt und den Deploy effizienter macht.

Auf diese Weise stellen Sie sicher, dass Ihre Deno-Anwendung optimal für das Hosting auf Square Cloud vorbereitet ist.

### 📄 Erforderliche Dateien

Drei Dateien sind erforderlich, um Ihr Deno-Projekt zu hosten:

* [squarecloud.app/.config](https://docs.squarecloud.app/de/getting-started/config-file)
* mainFile.ts/.js (Beispiel einer Hauptdatei)
* deno.json oder deno.jsonc (Definition der Berechtigungen und Tasks). Wenn Sie npm-Module verwenden, fügen Sie auch [package.json](./how-to-create-your-package-json) hinzu.

## 💡 Fehlerbehebung

<AccordionGroup>
  <Accordion title="Die Hauptdatei ist ungültig oder beschädigt" icon="file" iconType="solid">
    Dieser Fehler tritt auf, wenn die als „main“ für Ihre Anwendung in der
    Konfigurationsdatei definierte Datei nicht existiert, falsch geschrieben ist oder der Pfad
    falsch ist. Wenn sich Ihre Hauptdatei beispielsweise in einem Ordner befindet,
    müssen Sie `folder/file.ts` oder `folder/file.js` angeben.
  </Accordion>

  <Accordion title="Unzureichender Speicher" icon="memory" iconType="solid">
    Die für das Hosting eines Bots erforderliche Mindestmenge an RAM beträgt 256MB und für
    eine Website/API 512MB. Je nach Größe und Komplexität
    Ihrer Anwendung kann es jedoch ratsam sein, mehr RAM zuzuweisen,
    um zu vermeiden, dass Ihrer Anwendung der Speicher ausgeht und sie abstürzt.
  </Accordion>
</AccordionGroup>

## 📤 So hosten Sie Ihr Projekt

Nachdem Sie nun alle Dateien für Ihr Deno-Projekt vorbereitet haben, besteht der nächste Schritt darin, sie auf Square Cloud hochzuladen und Ihre Anwendung online zu stellen. Es gibt mehrere Möglichkeiten zum Hochladen, aber wir behandeln zwei: über das Dashboard oder über die CLI.

### Über das Dashboard

<Steps>
  <Step title="Upload-Seite aufrufen">
    Rufe die [Upload-Seite](https://squarecloud.app/de/dashboard/new) auf und lade die ZIP-Datei deines Projekts hoch.
  </Step>

  <Step title="Umgebung konfigurieren">
    Nachdem du deine ZIP-Datei hochgeladen hast, musst du den Namen, die Hauptdatei oder Runtime-Umgebung und weitere Einstellungen für dein Projekt konfigurieren.\
    Wenn du ein Web-Projekt hochlädst, achte darauf, "Web Publication" auszuwählen und deinem Projekt eine Subdomain zuzuweisen.
  </Step>

  <Step title="Projekt bereitstellen">
    Klicke abschließend auf die Schaltfläche "Deploy", um dein Projekt auf Square Cloud zu hosten.\
    Nach dem Deploy kannst du den Status und die Logs deines Projekts über das Dashboard überwachen.

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

### Über die CLI

Um diese Methode zu nutzen, musst du eine Konfigurationsdatei mit dem Namen `squarecloud.app` im Stammverzeichnis deines Projekts erstellen. Diese Datei enthält die notwendige Konfiguration für dein Projekt.

<Card title="Mehr erfahren: So erstellst du die Konfigurationsdatei für Square Cloud." icon="link" href="/de/getting-started/config-file">
  Die Datei squarecloud.app ist eine Konfigurationsdatei, mit der deine Anwendung konfiguriert wird; sie dient dazu, deine Umgebung zu definieren.
</Card>

<Steps>
  <Step title="CLI installieren">
    Zuerst 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="Authentifizieren">
    Um dich 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="Projekt hochladen">
    Um deine Anwendung schließlich über die CLI auf Square Cloud bereitzustellen, musst du den folgenden Befehl ausführen:

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

    Oder falls du die ZIP-Datei manuell erstellt hast, kannst du Folgendes verwenden:

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

## Kontaktiere uns

Falls du weiterhin **technische Schwierigkeiten** hast, steht dir unser **spezialisiertes Support-Team** zur Verfügung. [**Kontaktiere uns**](https://squarecloud.app/de/support) und wir helfen dir gerne, jedes Problem zu lösen.
