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

> Erfahren Sie, wie Sie auf Square Cloud mit Bun JS starten

## 🚀 Einführung

* Bevor Sie beginnen, können Sie sich dafür entscheiden, die Bun-Runtime in Ihrem Projekt zu verwenden. Wenn Sie Bun 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 bun
```

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

* Indem Sie `bun` als Abhängigkeit hinzufügen, können Sie `npx bun` im `START`-Feld von `squarecloud.app` verwenden, um Ihre Anwendung mit Bun 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 Bun-Runtime in der Node.js-Umgebung von Square Cloud zu verwenden, fügen Sie zunächst das `bun`-Paket zu Ihrem Projekt hinzu (z. B. `npm install bun`), damit der Befehl `npx bun` 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 Bun startet. Beispiel:

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

Alternativ, wenn Sie package.json-Skripte mit bun ausführen müssen, verwenden Sie:

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

* 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 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 Bun als Runtime verwenden möchten, empfehlen wir, `bun` als Abhängigkeit hinzuzufügen (`npm install bun`), um sicherzustellen, dass `npx bun` während des Deploys in der Runtime-Umgebung verfügbar ist. Bei Projekten, in denen Sie den nativen Bun-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 BUN-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`: Dieser Ordner muss nicht hochgeladen werden, da er während der Installation in der Produktion neu erstellt wird.
* `package-lock.json`: Diese Datei wird nicht benötigt, da die Produktionsumgebung die Abhängigkeiten auf Basis von `package.json` installiert.

### 🤔 Warum diese Dateien ausschließen?

Es gibt mehrere Gründe, `node_modules` und `package-lock.json` 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 und bietet so einen sauberen Start für Ihre Anwendung.

3. **Reduzierung der Upload-Größe:** Wenn Sie diese Ordner 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 BUN-Anwendung optimal für das Hosting auf Square Cloud vorbereitet ist.

### 📄 Erforderliche Dateien

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

* [squarecloud.app/.config](https://docs.squarecloud.app/de/getting-started/config-file)
* mainFile.js/.ts (Beispiel einer Hauptdatei)
* [package.json](./how-to-create-your-package-json) (Abhängigkeitsdatei)

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