Zum Hauptinhalt springen

Einführung

Um 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 kostenpflichtiger 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 schafft eine einfachere Möglichkeit, viele Tools an einem Ort zu nutzen, indem sie n8n, chatwoot und andere Tools integriert. Dieses Projekt ermöglicht es dir, schnell eine Instanz über die Oberfläche oder über ihre API zu erstellen und zu verbinden und mehrere Bot-Instanzen an einem Ort zu verwalten.

Projekt einrichten

Zunächst musst du das Projekt aus einer Quelle beziehen. Du kannst es aus dem offiziellen Repository oder aus unserem Repository beziehen, das in den Releases bereits die für das Deployment auf Square Cloud benötigten Dateien enthält.

Datenbankkonfiguration

Für den Einstieg benötigen wir eine Datenbank dafür. Du kannst eine auf Square Cloud hosten, wenn du den Standard-Plan oder höher hast. Nach der Erstellung müssen wir in unserer .env die URL als DATABASE_CONNECTION_URI festlegen und das Client-Zertifikat für die PostgreSQL-Verbindung erstellen. Hier ein Beispiel für die erforderliche Konfiguration:
.env
DATABASE_PROVIDER=postgresql
DATABASE_CONNECTION_URI='postgresql://squarecloud:password@host:port/database?sslmode=require&sslidentity=path/to/client-identity.p12&sslpassword=p12password'
DATABASE_CONNECTION_CLIENT_NAME='evolution_exchange'
DATABASE_SAVE_DATA_INSTANCE=true
DATABASE_SAVE_DATA_NEW_MESSAGE=true
DATABASE_SAVE_MESSAGE_UPDATE=true
DATABASE_SAVE_DATA_CONTACTS=true
DATABASE_SAVE_DATA_CHATS=true
DATABASE_SAVE_DATA_LABELS=true
DATABASE_SAVE_DATA_HISTORIC=true
DATABASE_SAVE_IS_ON_WHATSAPP=true
DATABASE_SAVE_IS_ON_WHATSAPP_DAYS=7
DATABASE_DELETE_MESSAGE=true
Nachdem die Umgebungsvariable und das Zertifikat festgelegt sind, musst du die Migrationen auf deiner Datenbank anwenden. Dazu muss sich die Datei runWithProvider.js im Projektordner befinden und du führst den folgenden Befehl aus:
npm run db:deploy:win

Serverkonfiguration

Wie in der Datei .env.example des Repositories gezeigt, musst du einige Umgebungsvariablen festlegen: server_type, server_port, server_url und die Sprache.
.env
SERVER_NAME=evolution
SERVER_TYPE=http
SERVER_PORT=80
# Change the SERVER_URL to your actual server URL.
# you change it to your app url, selected when creating the app
# or when set a domain
SERVER_URL="https://my-evolution-api.squareweb.app"
LANGUAGE=en
# Other variables below...
Es ist wichtig, einen sicheren globalen API-Schlüssel zu konfigurieren, um unbefugten Zugriff zu vermeiden.
.env
# Other variables...
AUTHENTICATION_API_KEY=MySuperSecureAPIKEY

Deployment

Um sie auf Square Cloud zu deployen, musst du nur den Startbefehl festlegen und im Web veröffentlichen. Für die Installation und den Build empfehlen wir, 3096MB RAM zu verwenden.
startup command
npx prisma generate --schema prisma/postgresql-schema.prisma && npm run build && npm run start:prod

Ü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.
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.
Anwendung wird auf Square Cloud hochgeladen

Über die CLI

Um diese Methode zu nutzen, musst du eine Konfigurationsdatei mit dem Namen squarecloud.app im Stammverzeichnis deines Projekts erstellen. Diese Datei enthält die notwendige Konfiguration für dein Projekt.

Mehr erfahren: So erstellst du die Konfigurationsdatei für Square Cloud.

Die Datei squarecloud.app ist eine Konfigurationsdatei, mit der deine Anwendung konfiguriert wird; sie dient dazu, deine Umgebung zu definieren.
1

CLI installieren

Zuerst musst du die CLI in deiner Umgebung installiert haben. Falls du sie noch nicht hast, führe den folgenden Befehl in deinem Terminal aus:
npm install -g @squarecloud/cli
Falls du sie bereits hast, empfehlen wir, sie zu aktualisieren. Führe dazu den folgenden Befehl in deinem Terminal aus:
squarecloud update
2

Authentifizieren

Um dich zu authentifizieren und weitere CLI-Befehle zu nutzen, findest du deinen Autorisierungsschlüssel hier, indem du auf “Request API Key” klickst. Nachdem du deinen Autorisierungsschlüssel erhalten hast, führe den folgenden Befehl aus:
squarecloud auth login
3

Projekt hochladen

Um deine Anwendung schließlich über die CLI auf Square Cloud bereitzustellen, musst du den folgenden Befehl ausführen:
squarecloud upload 
Oder falls du die ZIP-Datei manuell erstellt hast, kannst du Folgendes verwenden:
squarecloud upload --file <path/to/zip> 

Zusätzliche Informationen

Nach dem ersten Start kannst du den RAM auf 1536MB oder 2048MB reduzieren und den Startbefehl auf lediglich Folgendes setzen:
npm run start:prod

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.
.env
CACHE_REDIS_ENABLED=true
CACHE_REDIS_URI="redis://default:MySecurePassword@square-cloud-db-ID.squareweb.app:7170"
CACHE_REDIS_TTL=604800
# Prefix serves to differentiate data from one installation to another that are using the same redis
CACHE_REDIS_PREFIX_KEY=evolution
# Enabling this variable will save the connection information in Redis and not in the database.
CACHE_REDIS_SAVE_INSTANCES=false

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 Subdomain wird über das Feld SUBDOMAIN in der Konfigurationsdatei festgelegt.

Mindestanforderungen an den Arbeitsspeicher

Minimum: 512MB RAM für einfache Websites/APIs. Für Seiten mit Frameworks (Next.JS, React, Vue, Angular usw.) empfehlen wir stets 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…

Prüfe, ob du in der Anwendung Port 80 und Host 0.0.0.0 korrekt konfiguriert hast. Wir empfehlen die Verwendung der von Square erzwungenen Umgebungsvariablen: PORT und HOST aus der .env-Datei.

Kontaktiere uns

Falls du weiterhin technische Schwierigkeiten hast, steht dir unser spezialisiertes Support-Team zur Verfügung. Kontaktiere uns und wir helfen dir gerne, jedes Problem zu lösen.