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.- Dashboard
- CLI
- VS Code
- API
- Öffne deine Anwendung im Dashboard und gehe zu Einstellungen → Umgebungsvariablen.
- Füge jeden Schlüssel mit seinem Wert hinzu oder importiere eine vorhandene
.env-Datei. - Klicke auf Speichern. Das Dashboard fragt, ob die Anwendung neu gestartet werden soll: Starte sie neu, damit die App die neuen Werte übernimmt.
Im Code auslesen
Variablen, die Square Cloud für dich setzt
Deine Anwendung startet mit diesen bereits definierten Variablen:
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 undsquarecloud app env setsetzen 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.
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.
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.
