Skip to main content
Halte Bot-Tokens, API-Schlüssel und Datenbankpasswörter aus deinem Quellcode heraus. Setze sie als Umgebungsvariablen der Anwendung, und dein Code liest sie zur Laufzeit wie jede andere Variable.

Variablen setzen

Umgebungsvariablen gehören zu genau einer Anwendung. Sie bleiben bei Neustarts und Commits erhalten, aber ein neuer Upload erstellt eine neue Anwendung ohne sie: Setze sie dort also erneut.
  1. Öffne deine Anwendung im Dashboard und gehe zu Einstellungen → Umgebungsvariablen.
  2. Füge jeden Schlüssel mit seinem Wert hinzu oder importiere eine vorhandene .env-Datei.
  3. Klicke auf Speichern. Das Dashboard fragt, ob die Anwendung neu gestartet werden soll: Starte sie neu, damit die App die neuen Werte übernimmt.
Wenn du im Dashboard eine neue Anwendung hochlädst, kannst du Variablen auch schon auf der Upload-Seite hinzufügen, vor dem ersten Start.
Variablen werden beim Start der Anwendung geladen. Starte die Anwendung nach jeder Änderung neu, sonst läuft sie mit den alten Werten weiter.

Im Code auslesen

Wenn dein Code bei einer fehlenden Variable sofort abbricht, erhältst du eine klare Meldung in den Logs statt eines verwirrenden Fehlers später, etwa eines ungültigen Tokens.

Variablen, die Square Cloud für dich setzt

Deine Anwendung startet mit diesen bereits definierten Variablen:
Überschreibe PORT oder HOST bei einer Website nicht: Die Plattform erreicht einen Server nur auf Port 80 und Host 0.0.0.0.
Da NODE_ENV auf production steht, überspringt npm install die devDependencies. Wenn dein START-Befehl das Projekt baut (zum Beispiel mit typescript oder vite), führe diese Build-Tools in der package.json unter dependencies auf.

Wie die Variablen zu deiner App gelangen

Square Cloud speichert die Variablen in einer Datei .squarecloud/.env innerhalb der Anwendung und lädt sie bei jedem Start der Anwendung mit einer Shell, bevor die Abhängigkeiten installiert werden und dein START-Befehl oder deine MAIN-Datei läuft. Daraus folgt zweierlei:
  • Namen sollten aus Buchstaben, Ziffern und Unterstrichen bestehen und nicht mit einer Ziffer beginnen.
  • Werte mit Leerzeichen oder Shell-Zeichen wie $, &, ; oder | müssen in Anführungszeichen stehen, sonst schneidet die Shell sie ab oder expandiert sie. Das Dashboard und squarecloud app env set setzen die Anführungszeichen für dich. In der VS Code-Erweiterung oder der API setzt du einen solchen Wert selbst in einfache Anführungszeichen: Gib 'p@ss word$1' ein oder sende "PASSWORD": "'p@ss word$1'" im Body der API-Anfrage.
Die Limits sind 256 Variablen pro Anwendung, 1.024 Zeichen pro Name und 4.096 Zeichen pro Wert. Statische Websites (HTML/CSS) unterstützen keine Umgebungsvariablen und liefern STATIC_APP_ENV_NOT_SUPPORTED.

Geheimnisse aus dem Upload heraushalten

Wenn dein Code selbst eine .env-Datei lädt (zum Beispiel mit dotenv), muss diese Datei im Upload enthalten sein. Steht .env dann in squarecloud.ignore, startet die App ohne ihre Geheimnisse, und ein Bot scheitert mit einem ungültigen Token. Sicherer ist es so: Übertrage jeden Wert aus deiner .env in die Umgebungsvariablen der Anwendung, wie oben gezeigt. Sobald sie gesetzt sind, kannst du .env aus dem Upload und aus deinem Git-Repository heraushalten. dotenv überschreibt keine bereits vorhandenen Variablen, sodass derselbe Code auf deinem Rechner und auf Square Cloud funktioniert.
Committe Tokens oder Passwörter nie in ein öffentliches Repository. Wird eines öffentlich, widerrufe es beim Anbieter (setze zum Beispiel das Bot-Token im Discord Developer Portal zurück) und trage den neuen Wert hier ein.

Nächste Schritte

Konfigurationsdatei

Lege MAIN, MEMORY, START und die anderen Felder von squarecloud.app fest.

Discord-Bot hosten

Deploye einen Bot, der sein Token aus einer Umgebungsvariable liest.

Discord-Bot-Fehler

Behebe ungültige Tokens, fehlende Intents und Bots, die offline gehen.

Datenbankverbindungsfehler

Verbinde dich mit einer DATABASE_URL und den richtigen SSL-Einstellungen.