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

# Runtimes

> Wie Square Cloud Ihren Code baut und ausführt: Spracherkennung, Abhängigkeitsauflösung, isolierte Container und das in jedes Runtime-Image gebündelte Tooling.

Eine **Runtime** auf Square Cloud ist die vollständige, isolierte Umgebung, in der Ihre Anwendung läuft: der Sprachinterpreter oder die virtuelle Maschine, die Systembibliotheken, gegen die sie linkt, das Tooling, das sie aufrufen kann, und die Sicherheitsgrenze, die sie von jeder anderen Anwendung auf dem Host trennt.

Sie bauen oder pflegen diese Umgebung nie selbst. Sie liefern Ihren Quellcode und eine kleine [Konfigurationsdatei](/de/getting-started/config-file); Square Cloud erkennt die Sprache, löst Ihre Abhängigkeiten auf, stellt einen isolierten Container bereit und führt ihn aus. Dieselbe Pipeline betreibt Discord-/WhatsApp-/Telegram-Bots, Websites und APIs, Hintergrund-Worker und langlaufende Dienste, auf derselben schnellen, gehärteten Infrastruktur.

## Unterstützte Sprachen

<CardGroup cols={3}>
  <Card title="JavaScript" icon="node-js" href="../articles/getting-started-with-nodejs" />

  <Card title="Python" icon="python" href="../articles/getting-started-with-python" />

  <Card title="Java" icon="java" href="../articles/getting-started-with-java" />

  <Card title="Rust" icon="rust" href="../articles/getting-started-with-rust" />

  <Card title="Elixir" icon="droplet" href="../articles/getting-started-with-elixir" />

  <Card title="PHP" icon="php" href="../articles/getting-started-with-php" />

  <Card title="Go" icon="golang" href="../articles/getting-started-with-go" />

  <Card title="C#" icon="c" href="../articles/getting-started-with-csharp" />

  <Card title="Ruby" icon="gem" href="../articles/getting-started-with-ruby" />
</CardGroup>

<Info>
  Über die oben genannten Sprachen hinaus laufen die meisten anderen Stacks und Bibliotheken sofort einsatzbereit. Die Runtime-Images sind bewusst permissiv gestaltet: Wenn sich Ihre Sprache unter Linux installieren lässt, läuft sie höchstwahrscheinlich auch auf Square Cloud.
</Info>

## Versionen

Jede Runtime liefert zwei Update-Kanäle, die über das Feld `VERSION` in Ihrer Konfigurationsdatei auswählbar sind:

* **`recommended`** — die Version, die wir härten und für die Mehrheit der Anwendungen in Produktion betreiben. Wählen Sie sie, sofern Sie keinen bestimmten Grund dagegen haben.
* **`latest`** — die neueste Version, für Teams, die ein gerade erst veröffentlichtes Sprachfeature benötigen.

Sie können auch eine exakte Version festpinnen, um vollständige Reproduzierbarkeit über Deploys hinweg zu erreichen.

| Sprache            | `recommended` | `latest` |
| ------------------ | ------------- | -------- |
| Node.js \[JS & TS] | 24.15.0       | 26.1.0   |
| Python             | 3.13.13       | 3.14.5   |
| Java               | JDK 25        | JDK 25   |
| Elixir             | 1.19.5        | 1.19.5   |
| Rust               | 1.95.0        | 1.95.0   |
| Ruby               | 4.0.4         | 4.0.4    |
| PHP                | 8.5.6         | 8.5.6    |
| Go                 | 1.26.3        | 1.26.3   |
| .NET/C#            | 10.0.8        | 10.0.8   |

<Tip>Das Festpinnen von `recommended` verschafft Ihnen automatische, getestete Patch-Updates ohne überraschende Breaking Changes. Siehe die Referenz zur [Konfigurationsdatei](/de/getting-started/config-file) für die Felder `RUNTIME` und `VERSION`.</Tip>

## Wie ein Deploy abläuft

Vom Upload bis zum laufenden Prozess durchläuft jeder Deploy dieselbe deterministische Pipeline:

<Steps>
  <Step title="Spracherkennung" icon="magnifying-glass">
    Square Cloud untersucht die Dateien in Ihrem Upload und identifiziert den Stack anhand der Signale, die bereits in Ihrem Projekt vorhanden sind — eine `package.json` für Node.js, eine `requirements.txt` oder `pyproject.toml` für Python, eine `go.mod` für Go, ein `Gemfile` für Ruby und so weiter. Sie können die Erkennung explizit mit dem Feld `RUNTIME` überschreiben.
  </Step>

  <Step title="Abhängigkeitsauflösung" icon="cube">
    Ihr Abhängigkeitsmanifest wird **serverseitig** installiert, innerhalb der Build-Umgebung. Sie liefern niemals `node_modules`, eine virtualenv oder kompilierte Artefakte innerhalb der `.zip` — die Plattform löst sie auf und installiert sie für Sie, wodurch Uploads klein und Builds reproduzierbar bleiben.
  </Step>

  <Step title="Bereitstellung" icon="server">
    Ein isolierter Container wird mit der in Ihrer Konfigurationsdatei deklarierten CPU und dem deklarierten Arbeitsspeicher erstellt. Ressourcen werden auf Kernel-Ebene erzwungen, sodass eine Anwendung eine andere auf demselben Host niemals aushungern kann.
  </Step>

  <Step title="Start" icon="play">
    Das Feld `MAIN` verweist auf Ihre Einstiegsdatei, und die Plattform startet sie mit dem korrekten Interpreter. Benötigen Sie einen Build-Schritt, einen statischen Server oder einen benutzerdefinierten Befehl? Setzen Sie `START`, und es wird wortgetreu ausgeführt.
  </Step>
</Steps>

## Im Inneren jedes Runtime-Images

Jedes Image ist auf einer gemeinsamen, sicherheitsgeprüften Basis aufgebaut, sodass die Umgebung konsistent ist, egal welche Sprache Sie deployen:

<CardGroup cols={2}>
  <Card title="Node.js 26 + Build-Tooling" icon="node-js">
    Jedes Image bündelt Node.js 26 neben der primären Sprache. JS-basierte Build-Tools, Asset-Pipelines und Utilities sind immer verfügbar, egal welchen Stack Sie haben.
  </Card>

  <Card title="ffmpeg & Chromium" icon="film">
    Medienverarbeitung (ffmpeg) und ein Headless-Browser (Chromium) sind vorinstalliert — bereit für Medien-Bots, Web-Scraping und PDF- oder Screenshot-Generierung ohne zusätzliche Einrichtung.
  </Card>

  <Card title="Standardmäßig ohne Privilegien" icon="shield-halved">
    Anwendungen laufen als Non-Root-Benutzer innerhalb eines isolierten Containers. Eine kompromittierte Abhängigkeit bleibt eingedämmt — sie hat keinen privilegierten Zugriff auf den Host.
  </Card>

  <Card title="Statische Websites, keine Runtime" icon="file-code">
    Kein Interpreter nötig? Setzen Sie `RUNTIME=static`, um eine einfache HTML/CSS/JS-Website direkt auszuliefern, mit demselben CDN und TLS wie jede andere Anwendung.
  </Card>
</CardGroup>

## Isolation und Sicherheit

Jede Anwendung ist ein vollständig isolierter Container mit kernel-erzwungenen CPU- und Speicherlimits — niemals ein gemeinsam genutzter Prozess. Der Betrieb ohne Privilegien bedeutet, dass eine Anwendung weder den Host noch ihre Nachbarn erreichen kann, und Ressourcenobergrenzen garantieren, dass eine Lastspitze in einem Projekt keinerlei Auswirkung auf die Leistung eines anderen hat. Dies ist dasselbe Modell, das es Square Cloud erlaubt, Zehntausende von Arbeitslasten auf gemeinsam genutzten Clustern zu hosten, ohne dass sie sich gegenseitig stören.

## Nächste Schritte

<CardGroup cols={2}>
  <Card title="Konfigurationsdatei" icon="gear" href="/de/getting-started/config-file">
    Beherrschen Sie `MAIN`, `START`, `RUNTIME`, `VERSION` und `MEMORY` — die Felder, die Ihre Runtime steuern.
  </Card>

  <Card title="Sprach-Guides" icon="graduation-cap" href="/de/articles/getting-started-with-nodejs">
    Schritt-für-Schritt-Einrichtung für Node.js, Python, Go, Rust, Java und mehr.
  </Card>
</CardGroup>
