メインコンテンツへスキップ

はじめに

Square Cloud で を開発してホストするには、構成と前提条件の体系的な手順に従うことが不可欠です。この技術ガイドでは、初期セットアップから本番環境へのデプロイまで、プロセス全体を解説します。

前提条件

  • Square Cloud アカウント: 登録ページからメールアドレスを使って登録します。
  • 有効な有料プラン: アプリケーションに専用リソースと最適化されたパフォーマンスを提供します。利用可能なプランを確認し、ニーズに最も適したものを選択してください。

Evolution API を使う理由

Evolution API は、n8n、chatwoot、その他のツールを統合し、多くのツールを 1 か所で簡単に利用できるようにします。 このプロジェクトを使うと、Evolution API 自体または その API を通じてインスタンスを素早く作成して接続でき、複数のボットインスタンスを 1 か所で管理できます。

プロジェクトのセットアップ

まず、何らかのソースからプロジェクトを入手する必要があります。公式リポジトリから入手するか、リリースに Square Cloud へのデプロイに必要なファイルがすでに含まれている当社のリポジトリから入手できます。

データベースの設定

セットアップを始めるには、データベースが必要です。Standard プラン以上をお持ちの場合は、Square Cloud でホスティングできます。 作成後、.env に URL を DATABASE_CONNECTION_URI として設定し、PostgreSQL 接続用のクライアント証明書を作成する必要があります。必要な設定の例を以下に示します:
.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
環境変数と証明書を設定したら、データベースにマイグレーションを適用する必要があります。そのためには、プロジェクトフォルダ内に runWithProvider.js ファイルを配置し、次のコマンドを実行してください:
npm run db:deploy:win

サーバーの設定

リポジトリの .env.example ファイルに示されているとおり、いくつかの環境変数、server_type、server_port、server_url、そして言語を設定する必要があります。
.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...
不正アクセスを防ぐために、安全なグローバル API キーを設定することが重要です。
.env
# Other variables...
AUTHENTICATION_API_KEY=MySuperSecureAPIKEY

デプロイ

Square Cloud でデプロイするには、起動コマンドを設定して web で公開するだけです。インストールとビルドには、3096MB の RAM を使用することをお勧めします。
startup command
npx prisma generate --schema prisma/postgresql-schema.prisma && npm run build && npm run start:prod

ダッシュボード経由

1

アップロードページにアクセス

アップロードページにアクセスし、プロジェクトの zip ファイルをアップロードします。
2

環境を設定

zip をアップロードした後、プロジェクトの名前、メインファイルまたはランタイム環境、その他の設定を構成する必要があります。
ウェブプロジェクトをアップロードする場合は、必ず「Web Publication」を選択し、プロジェクトにサブドメインを設定してください。
3

プロジェクトをデプロイ

最後に「Deploy」ボタンをクリックして、プロジェクトを Square Cloud にホストします。
デプロイ後、ダッシュボードからプロジェクトのステータスとログを監視できます。
Square Cloud へのアプリケーションのアップロード

CLI 経由

この方法を使用するには、プロジェクトのルートディレクトリに squarecloud.app という名前の設定ファイルを作成する必要があります。このファイルには、プロジェクトに必要な設定が含まれます。

詳細はこちら: Square Cloud の設定ファイルの作成方法。

squarecloud.app ファイルはアプリケーションを構成するために使用される設定ファイルであり、環境を定義するために使用されます。
1

CLI をインストール

まず、環境に CLI がインストールされている必要があります。まだの場合は、ターミナルで次のコマンドを実行してください:
npm install -g @squarecloud/cli
すでにお持ちの場合は、更新することを推奨します。更新するには、ターミナルで次のコマンドを実行してください:
squarecloud update
2

認証

次に、認証して他の CLI コマンドを使用するには、こちらで「Request API Key」をクリックして認証キーを取得します。認証キーを取得したら、次のコマンドを実行してください:
squarecloud auth login
3

プロジェクトをアップロード

最後に、CLI を使用してアプリケーションを Square Cloud にデプロイするには、次のコマンドを実行する必要があります:
squarecloud upload 
または、zip を手動で作成した場合は、次を使用できます:
squarecloud upload --file <path/to/zip> 

追加情報

初回実行後は、RAM を 1536MB または 2048MB に減らし、起動コマンドを次のみに設定できます:
npm run start:prod

キャッシュシステム

Evolution API でキャッシュシステムを設定できます。そのためには、Square Cloud でもホスティングできる Redis データベースが必要です。
設定するには、証明書をダウンロードして接続用の URL を設定する必要もあります。
.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

トラブルシューティング

カスタムドメイン

デフォルトの URL mysite.squareweb.app の代わりにカスタムドメイン(例: mysite.com)を使用するには、Standard プラン以上が必要です。サブドメインは設定ファイルの SUBDOMAIN フィールドで定義します。

最小 RAM 要件

シンプルなウェブサイト/API の場合は最小 512MB RAMです。フレームワーク(Next.JS、React、Vue、Angular など)を使用するサイトでは、常に最低 1GB RAMを推奨します。より大規模なアプリケーションでは、メモリ不足でアプリケーションがクラッシュするのを防ぐため、より多くの RAM を割り当ててください。

このサイトが見つかりませんでした。

サブドメイン/ドメインSUBDOMAIN フィールドまたはカスタムドメイン設定で構成されている内容と一致しているか確認してください。サイトをアップロードしたばかりの場合は、Square が初回アクセスを有効化するまで最大 60 秒お待ちください。

サイトの応答に時間がかかりすぎました…

アプリケーションでポート 80ホスト 0.0.0.0 を正しく設定しているか確認してください。Square の強制環境変数である .env ファイルの PORTHOST を使用することを推奨します。

お問い合わせ

技術的な問題が解決しない場合は、専門のサポートチームがお手伝いします。お問い合わせいただければ、どのような問題でも喜んで解決をサポートいたします。