Einführung
Um eine Phoenix-Anwendung auf Square Cloud zu entwickeln und zu hosten, ist es wichtig, einer strukturierten Abfolge von Konfigurationen und Voraussetzungen zu folgen. Dieser technische Leitfaden deckt den gesamten Prozess ab, von der anfänglichen Einrichtung bis zum Produktions-Deployment.Voraussetzungen
- Square Cloud Konto: Registriere dich über die Registrierungsseite mit deiner E-Mail-Adresse.
- Aktiver Plan: Stellt dedizierte Ressourcen und optimierte Leistung für deine Anwendung sicher. Sieh dir unsere verfügbaren Pläne an und wähle den passendsten für deine Bedürfnisse.
Projekt erstellen
Du brauchst Erlang/OTP und Elixir auf deinem Rechner. Falls du sie noch nicht hast, folge der offiziellen Elixir-Installationsanleitung. Installiere den Phoenix-Projektgenerator und erstelle ein Projekt:--no-ecto erstellt ein Projekt ohne Datenbank, die einfachste Variante für das Deploy. Lass die Option weg, wenn du Ecto brauchst, und lies dann unter Umgebungsvariablen nach, wie du die Datenbankadresse angibst. Starte den Entwicklungsserver:
http://localhost:4000.
Für die Produktion bauen
Square Cloud baut deine App beim Start: Bevor deinSTART-Befehl läuft, holt es deine Abhängigkeiten mit mix deps.get. Der START-Befehl unten kompiliert die App dann im Produktionsmodus (MIX_ENV=prod), baut und digestet die Assets mit mix assets.deploy und startet den Server. Du musst auf deinem Rechner nichts bauen, und deine ZIP-Datei enthält den Quellcode des Projekts.
Der erste Start kompiliert deine Abhängigkeiten und lädt die Asset-Tools (esbuild und Tailwind) herunter, er dauert daher einige Minuten. Spätere Starts verwenden die kompilierten Dateien wieder.
Port und Host
Hier musst du nichts ändern: In der Produktion liest die generierteconfig/runtime.exs die Umgebungsvariable PORT, die Square Cloud auf 80 setzt, und lauscht auf allen Netzwerkschnittstellen.
Umgebungsvariablen
Lege diese Umgebungsvariablen im Dashboard oder mitsquarecloud app env set fest:
Square Cloud konfigurieren
Erstelle eine Dateisquarecloud.app im Stammverzeichnis deines Projekts:
squarecloud.app
MAIN=mix.exs teilt Square Cloud mit, dass das Projekt mit Elixir läuft, und START ersetzt das standardmäßige mix run --no-halt. mix phx.server startet den Webserver, du brauchst also kein PHX_SERVER. Projekte mit Ecto können bei jedem Start Migrationen anwenden, indem sie MIX_ENV=prod mix ecto.migrate && vor mix phx.server einfügen.
Was in die ZIP-Datei gehört
mix.exsundmix.lock.config/,lib/,assets/,priv/und die anderen Quellordner.squarecloud.app.
_build/ weg, das für deinen Rechner kompilierte Dateien enthält, ebenso deps/: Square Cloud holt die Abhängigkeiten erneut und kompiliert alles unter Linux.
Du bevorzugst ein Release? Ein unter Windows oder macOS gebautes Release läuft nicht auf Square Cloud, das Linux verwendet: Baue es unter Linux, zum Beispiel in WSL. Sein Startskript ist
_build/prod/rel/my_app/bin/my_app, der Befehl lautet also START=PHX_SERVER=true _build/prod/rel/my_app/bin/my_app start; PHX_SERVER=true sorgt dafür, dass das Release den Webserver startet. Behalte mix.exs und mix.lock in der ZIP-Datei, denn Square Cloud führt vor START den Befehl mix deps.get aus.Deployen und prüfen
Über das Dashboard
1
Upload-Seite aufrufen
Rufe die Upload-Seite auf und lade die ZIP-Datei deines Projekts hoch.
2
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.
Wenn du ein Web-Projekt hochlädst, achte darauf, “Web Publication” auszuwählen und deinem Projekt eine Subdomain zuzuweisen.
3
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.
Nach dem Deploy kannst du den Status und die Logs deines Projekts über das Dashboard überwachen.

4
Bestätige, dass deine App live ist
Dein erstes Deploy dauert in der Regel weniger als eine Minute. Warte im Dashboard, bis der Status deiner Anwendung als “running” angezeigt wird, und prüfe die Logs auf Startfehler.
Wenn du eine Website oder API bereitgestellt hast, öffne
Wenn du eine Website oder API bereitgestellt hast, öffne
https://<deine-subdomain>.squareweb.app in deinem Browser: du solltest sehen, dass deine Anwendung reagiert. Wenn du einen Bot bereitgestellt hast, sende ihm einen Befehl, um zu bestätigen, dass er online ist.
Über die CLI
Um diese Methode zu nutzen, braucht dein Projekt eine Konfigurationsdatei mit dem Namensquarecloud.app im Stammverzeichnis. Sie teilt Square Cloud mit, wie deine Anwendung ausgeführt wird.
Leitfaden zur Konfigurationsdatei
Erfahre, wie du die Konfigurationsdatei
squarecloud.app erstellst, die die Umgebung deiner Anwendung definiert.1
CLI installieren
Installiere die Square Cloud CLI. Falls du sie bereits hast, führe denselben Befehl aus, um sie zu aktualisieren:
2
Anmelden
Führe den folgenden Befehl aus. Er öffnet deinen Browser: Bestätige dort die Anmeldung, und die CLI ist einsatzbereit. Es gibt keinen API-Schlüssel zu kopieren. Für Skripte und CI siehe CLI-Authentifizierung.
3
Projekt hochladen
Führe in deinem Projektordner den folgenden Befehl aus. Die CLI packt den aktuellen Ordner als ZIP, lässt dabei weg, was in der Um eine selbst erstellte ZIP-Datei hochzuladen, übergib sie mit
squarecloud.ignore steht, und lädt ihn hoch:--file:4
Bestätige, dass deine App live ist
Dein erstes Deploy dauert in der Regel weniger als eine Minute. Prüfe den Status und die Logs deiner Anwendung direkt im Terminal:Wenn du eine Website oder API bereitgestellt hast, öffne
https://<deine-subdomain>.squareweb.app in deinem Browser: du solltest sehen, dass deine Anwendung reagiert. Wenn du einen Bot bereitgestellt hast, sende ihm einen Befehl, um zu bestätigen, dass er online ist.
Häufige Fehler
Eigene Domain
Um eine eigene Domain (z. B.
mysite.com) anstelle der Standard-URL mysite.squareweb.app zu verwenden, benötigst du den Standard-Plan oder höher. Die Standard-URL ergibt sich aus dem Feld SUBDOMAIN in der Konfigurationsdatei. Um deine Domain zu verbinden, folge der Anleitung wie du deine eigene Domain einrichtest.Mindestanforderungen an den Arbeitsspeicher
Minimum: 512MB RAM für Websites und APIs, genug für einen statischen Build auf der statischen Runtime. Für Apps, die Seiten auf einem Server rendern (Next.js, Nuxt, Angular SSR und ähnliche), empfehlen wir mindestens 1GB RAM. Für größere Anwendungen solltest du mehr RAM zuweisen, damit der Anwendung nicht der Speicher ausgeht und sie abstürzt.
Diese Seite konnte nicht gefunden werden.
Prüfe, ob die Subdomain/Domain mit dem übereinstimmt, was im Feld SUBDOMAIN oder in den Einstellungen der eigenen Domain konfiguriert ist. Wenn du die Seite gerade erst hochgeladen hast, warte bis zu 60 Sekunden, bis Square den ersten Zugriff aktiviert.
Die Seite hat zu lange zum Antworten gebraucht…
Dein Server muss auf Port 80 und Host 0.0.0.0 lauschen. Square Cloud setzt in deiner Anwendung die Umgebungsvariablen PORT (
80) und HOST (0.0.0.0): Lies sie in deinem Code aus, statt andere Werte fest einzutragen. Ein Server, der nur auf localhost oder 127.0.0.1 lauscht, erhält nie Anfragen.environment variable SECRET_KEY_BASE is missing
SetzeSECRET_KEY_BASE wie unter Umgebungsvariablen beschrieben und starte die Anwendung dann neu.
LiveView verbindet sich ständig neu
PHX_HOST stimmt nicht mit der Adresse im Browser überein. Setze es auf deine Subdomain oder eigene Domain und starte die Anwendung dann neu.
Nächste Schritte
Umgebungsvariablen
Halte Geheimnisse und Einstellungen aus deinem Code heraus und lies sie zur Laufzeit.
Eigene Domain
Stelle deine App unter deiner eigenen Domain bereit, ab dem Standard-Plan.
Fehlerbehebung
Behebe Probleme mit einer App, die nicht startet, oder einer Website, die nicht antwortet.

