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

はじめに

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

前提条件

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

プロジェクトの入手

pgAdmin は Python 上で動作するため、プロジェクトには requirements.txt または pyproject.toml が必要です (requirements.txt の作成方法を参照)。そこに pgadmin4 と、それを配信するためのウェブサーバーを記載します。このガイドでは gunicorn を使用します。
requirements.txt
当社のリリースと同じくバージョンを固定しているため、再インストール時に互換性のない新しいバージョンへ上がることはありません。後で更新するときは、ここでバージョンを変更してプロジェクトを再アップロードしてください。 次に、config_local.py ファイルを作成します。pgAdmin は起動時にこのファイルを読み込みます。これらの設定により、pgAdmin はウェブサーバーとして動作し、データ、ログ、SQLite データベースをアプリケーション内の .pgadmin フォルダーに保存します。
config_local.py
デプロイに必要なものはすべて当社の pgadmin4-web のリリースに用意してあります。project.zip をダウンロードし、下記の 2 つの変数を入力してアップロードするだけです。

Square Cloud の設定

プロジェクトのルートに squarecloud.app ファイルを作成します。
squarecloud.app
Gunicorn は、Square Cloud がサブドメインへのトラフィックを届けるポート 80 で、すべてのインターフェース (0.0.0.0) をリッスンします。ワーカーは 1 つ (--workers=1) のままにし、代わりにスレッドを増やしてください。ワーカーを増やすと、pgAdmin は CSRF エラーで失敗します。ダッシュボードからアップロードする場合は、ランタイムを手動で Python に設定し、起動コマンドに同じ START コマンドを使用します。

環境変数

2 つの環境変数 PGADMIN_SETUP_EMAIL と PGADMIN_SETUP_PASSWORD を設定します。pgAdmin は初回起動時に、これらを使って最初のユーザーを作成します。
.env
これらは、アップロードフォームの 詳細設定、アプリケーションの 環境変数 ページ (設定後に再起動)、または squarecloud app env set で設定します。pgAdmin はプロジェクトのルートにある .env ファイルを読み込まないため、これらの値は環境変数として設定した場合にのみ機能します。環境変数を参照してください。

ZIP に含めるもの

  • requirements.txt または pyproject.toml
  • config_local.py
  • squarecloud.app

デプロイと動作確認

ダッシュボード経由

1

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

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

環境を設定

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

プロジェクトをデプロイ

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

アプリが稼働していることを確認

最初のデプロイは、通常 1 分もかからずに完了します。ダッシュボードでアプリケーションのステータスが running になるのを待ち、起動時のエラーがないかログを確認してください。
ウェブサイトや API をデプロイした場合は、ブラウザで https://<your-subdomain>.squareweb.app を開き、アプリケーションが応答することを確認してください。ボットをデプロイした場合は、コマンドを送信してオンラインになっていることを確認してください。
アプリが起動しませんか?よくある原因と修正方法はトラブルシューティングガイドを参照してください。

CLI 経由

この方法を使用するには、プロジェクトのルートに squarecloud.app という名前の設定ファイルが必要です。このファイルは、アプリケーションの実行方法を Square Cloud に伝えます。

設定ファイルガイド

アプリケーションの環境を定義する squarecloud.app 設定ファイルの作成方法を学びます。
1

CLI をインストール

Square Cloud CLI をインストールします。すでにお持ちの場合は、同じコマンドを実行すると更新されます:
2

ログイン

次のコマンドを実行します。ブラウザが開くので、そこでログインを承認すれば CLI の準備は完了です。API キーをコピーする必要はありません。スクリプトや CI については、CLI の認証を参照してください。
3

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

プロジェクトのフォルダで次のコマンドを実行します。CLI は squarecloud.ignore に記載されたものを除いて現在のフォルダを zip にし、アップロードします:
自分で作成した zip をアップロードするには、--file で指定します:
4

アプリが稼働していることを確認

最初のデプロイは、通常 1 分もかからずに完了します。ターミナルから直接、アプリケーションのステータスとログを確認してください。
ウェブサイトや API をデプロイした場合は、ブラウザで https://<your-subdomain>.squareweb.app を開き、アプリケーションが応答することを確認してください。ボットをデプロイした場合は、コマンドを送信してオンラインになっていることを確認してください。
アプリが起動しませんか?よくある原因と修正方法はトラブルシューティングガイドを参照してください。

初回アクセス

https://my-pgadmin-subdomain.squareweb.app を開き、設定したメールアドレスとパスワードでログインします。次に PostgreSQL サーバーを追加すれば、どこからでも管理できます。

よくあるエラー

カスタムドメイン

デフォルトの URL mysite.squareweb.app の代わりにカスタムドメイン(例: mysite.com)を使用するには、Standard プラン以上が必要です。デフォルトの URL は設定ファイルの SUBDOMAIN フィールドから決まります。独自ドメインを接続するには、独自ドメインの設定方法に従ってください。

最小 RAM 要件

ウェブサイトと API は最小 512MB RAMです。これは静的ランタイムで静的ビルドを配信するには十分な量です。サーバー上でページをレンダリングするアプリ(Next.js、Nuxt、Angular SSR など)には、最低 1GB RAMを推奨します。より大規模なアプリケーションでは、メモリ不足でアプリケーションがクラッシュするのを防ぐため、より多くの RAM を割り当ててください。

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

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

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

サーバーはポート 80 とホスト 0.0.0.0 でリッスンする必要があります。Square Cloud はアプリケーションに環境変数 PORT(80)と HOST(0.0.0.0)を設定します。別の値をハードコーディングせず、コードでこれらを読み込んでください。localhost や 127.0.0.1 だけでリッスンしているサーバーには、リクエストが届きません。

ログイン後の CSRF エラー

pgAdmin が複数の Gunicorn ワーカーで動作しています。START コマンドで --workers=1 を設定し、より多くの処理能力が必要な場合は --threads でスレッドを追加してから、アプリケーションを再起動してください。

次のステップ

マネージドデータベース

pgAdmin で管理する PostgreSQL データベースを作成します。

データベース接続エラー

SSL/TLS や接続のエラーを修正します。

Gunicorn

pgAdmin を実行するウェブサーバーを調整します。
pgAdmin の詳細は、pgAdmin 公式ドキュメントを参照してください。

お問い合わせ

技術的な問題が解決しない場合は、専門のサポートチームがお手伝いします。お問い合わせいただければ、どのような問題でも喜んで解決をサポートいたします。サポートの質の高さも、開発者が Google と Trustpilot で Square Cloud に402 件のレビューで 4.9/5という評価をつけている理由の 1 つです。