Einführung
Um Evolution API 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.
Warum die Evolution API verwenden?
Die Evolution API ist eine Open-Source-API für WhatsApp. Sie verwaltet mehrere WhatsApp-Instanzen an einem Ort, über ihren Web-Manager oder ihre REST-API, und verbindet sie mit Tools wie n8n, Chatwoot und Typebot.Projekt einrichten
Lade das Projekt aus den Releases von evolutionapi-web herunter, die bereits die für das Deploy auf Square Cloud benötigten Dateien enthalten, oder aus dem offiziellen Repository.Das offizielle Repository führt
typescript in den devDependencies. Square Cloud installiert Abhängigkeiten im Produktionsmodus, ohne devDependencies, daher schlägt der Schritt npm run build fehl. Unser Release verschiebt es bereits nach dependencies; beim offiziellen Repository verschiebst du es selbst..env-Datei im Stammverzeichnis des Projekts, diese Datei gehört also in deine ZIP-Datei. Beginne mit der .env aus unserem Release (oder mit .env.example aus dem offiziellen Repository) und passe die Variablen unten an. Variablen, die du im Dashboard unter Umgebungsvariablen festlegst, haben Vorrang vor der .env-Datei; das Dashboard ist daher der bessere Ort für Geheimnisse wie AUTHENTICATION_API_KEY und DATABASE_CONNECTION_URI. Siehe Umgebungsvariablen.
Datenbankkonfiguration
Die Evolution API braucht eine PostgreSQL-Datenbank. Du kannst eine auf Square Cloud hosten, ab dem Standard-Plan: siehe wie du eine verwaltete Datenbank erstellst und verbindest. Lege danach ihre URL in der.env als DATABASE_CONNECTION_URI fest, zusammen mit dem Client-Zertifikat für die PostgreSQL-Verbindung. Hier ein Beispiel für die erforderliche Konfiguration:
.env
.p12-Datei erwartet. Lade die Zertifikatsdateien (.crt und .key) von der Seite der Datenbank im Dashboard herunter, konvertiere sie und lege die .p12 in dein Projekt:
sslpassword der URL, und sslidentity ist der Pfad zur .p12-Datei. Behalte die .p12 in deiner ZIP-Datei, denn die Anwendung liest sie von der Festplatte.
Nachdem die Umgebungsvariable und das Zertifikat festgelegt sind, wende die Migrationen auf deine Datenbank an. Installiere im Projektordner auf deinem Computer die Abhängigkeiten mit npm install (der Befehl braucht die Datei runWithProvider.js) und führe den folgenden Befehl aus:
- Windows
- Linux
Serverkonfiguration
Wie in der Datei.env.example des Repositories gezeigt, lege die Servervariablen fest: SERVER_TYPE, SERVER_PORT, SERVER_URL und die Sprache.
.env
SERVER_PORT (nicht aus PORT) und fällt ohne diese Variable auf 8080 zurück, behalte also SERVER_PORT=80.
Es ist wichtig, einen sicheren globalen API-Schlüssel zu konfigurieren, um unbefugten Zugriff zu vermeiden. Ersetze ihn durch einen eigenen langen Zufallswert: Der Schlüssel in Beispieldateien ist öffentlich.
.env
Square Cloud konfigurieren
Erstelle eine Dateisquarecloud.app im Stammverzeichnis des Projekts. Der START-Befehl erzeugt den Prisma-Client, baut das Projekt und startet es; Installation und Build brauchen etwa 3072 MB RAM:
squarecloud.app
SUBDOMAIN muss zur Adresse in SERVER_URL passen. Beim Upload über das Dashboard wählst du “Web Publication”, legst dieselbe Subdomain fest und fügst den START-Befehl als Startbefehl ein.
Deployen
Ü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.
Zusätzliche Informationen
Nach dem ersten Start kannst du den RAM auf 1536MB oder 2048MB reduzieren und den Startbefehl auf lediglich Folgendes setzen:Cache-System
Du kannst in der Evolution API ein Cache-System konfigurieren. Dazu benötigst du eine Redis-Datenbank, die du ebenfalls auf Square Cloud hosten kannst.Um sie zu konfigurieren, musst du außerdem das Zertifikat herunterladen und die URL zur Verbindung festlegen. Beachte das Schema
rediss://: Square-Cloud-Datenbanken akzeptieren nur TLS-Verbindungen.
.env
Fehlerbehebung
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.Nächste Schritte
Verwaltete Datenbank
Erstelle die PostgreSQL-Datenbank, die die Evolution API braucht.
Datenbank-Verbindungsfehler
Behebe SSL/TLS- und Verbindungsfehler.
WhatsApp-Bot
Baue einen einzelnen WhatsApp-Bot mit whatsapp-web.js oder Baileys.

