> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# pgAdmin のデプロイ方法

> pgAdmin をホスティングして、どこからでも PostgreSQL データベースにアクセスする方法を学びましょう

## はじめに

* この記事では、Square Cloud 上で PG Admin アプリケーションを作成してホスティングする手順を解説します。
* 始める前に、Square Cloud のアカウントを用意してください。アカウントはサインアップページから作成できます。メールアドレスを使ってアカウントを作成できます。
* 最後に、アカウントに有効な有料プランが必要です。プランの一覧を確認し、ニーズに合ったものを[こちら](https://squarecloud.app/ja/pricing)から購入できます。

## プロジェクトの作成

* まず Python 環境が必要です。そのためには `requirements.txt` または `pyproject.toml` が必要です。
  requirements.txt の作成方法は[こちら](https://docs.squarecloud.app/ja/articles/how-to-create-your-requirements)を参照してください。
* `requirements.txt` には `pgadmin4` と、それを配信するためのウェブサーバーを記載する必要があります。このチュートリアルでは `gunicorn` を使用します。

```txt requirements.txt theme={null}
pgadmin4
gunicorn
```

* 次に、いくつかのパスを設定するための設定ファイル `config_local.py` が必要です。これらのパスは、pgadmin に関する情報の保存先を定義します。

```py config_local.py theme={null}
SERVER_MODE = True
MAX_LOGIN_ATTEMPTS = 3
"""
    CRITICAL 50
    ERROR    40
    WARNING  30
    SQL      25
    INFO     20
    DEBUG    10
    NOTSET    0
"""
CONSOLE_LOG_LEVEL = 10
DATA_DIR = "/application/.pgadmin/"
LOG_FILE = "/application/.pgadmin/logfile"
SQLITE_PATH = '/application/.pgadmin/pgadmin4.db'
```

<Info>
  デプロイに必要なものはすべて、[こちら](https://github.com/squarecloud-education/pgadmin4-web/releases)のリポジトリに用意してあります。`project.zip` をダウンロードしてアップロードするだけです。
</Info>

## 📁 必要なファイル

zip には以下のファイルが必要です。

* requirements.txt または pyproject.toml
* .env (任意)

## ⚙️ 設定ファイル

* ランタイム環境を `Detect manually` に設定し、`Python` を指定する必要があります。squarecloud.config または squarecloud.app では次のようになります。

```systemd squarecloud theme={null}
DISPLAY_NAME=App name
RUNTIME=python
MEMORY=1024
START=python -m gunicorn --bind 0.0.0.0:80 --workers=1 --threads=4 pgadmin4.pgAdmin4:app
VERSION=recommended
SUBDOMAIN=my-pgadmin-subdomain
```

* 次に、`.env` ファイルまたはアップロードメニューの Square Cloud 環境で、2 つの環境変数 `PGADMIN_SETUP_EMAIL` と `PGADMIN_SETUP_PASSWORD` を設定する必要があります。

```systemd .env theme={null}
PGADMIN_SETUP_EMAIL=accessemail@example.com
PGADMIN_SETUP_PASSWORD=yourSecurePassword
```

## プロジェクトを Square Cloud にアップロードする

プロジェクトファイルの準備ができたら、Square Cloud にアップロードしてプロジェクトをホスティングできます。

<Tabs>
  <Tab title="ダッシュボードからアップロード">
    [Square Cloud ダッシュボード](https://squarecloud.app/ja/dashboard/new)にアクセスして、プロジェクトファイルをアップロードします。

    <Frame>
      <img src="https://cdn.squarecloud.app/docs/articles/dashboard/uploading.gif" alt="Square Cloud へのアプリケーションのアップロード" style={{ borderRadius: "0.2rem" }} />
    </Frame>
  </Tab>

  <Tab title="CLI からアップロード">
    <Steps>
      <Step title="ステップ 1">
        まず、環境に CLI がインストールされている必要があります。まだお持ちでない場合は、ターミナルで次のコマンドを実行してください。

        ```
        npm install -g @squarecloud/cli
        ```

        すでにお持ちの場合は、アップデートすることをおすすめします。そのためには、ターミナルで次のコマンドを実行してください。

        <Tabs>
          <Tab title="Windows">
            ```bash theme={null}
            squarecloud update
            ```
          </Tab>

          <Tab title="Linux、macOS、WSL">
            ```bash theme={null}
            curl -fsSL https://cli.squarecloud.app/install | bash
            ```
          </Tab>
        </Tabs>
      </Step>

      <Step title="ステップ 2">
        認証してその他の CLI コマンドを使用するには、認証キーが必要です。[こちら](https://squarecloud.app/ja/account/security)で「Request API Key」をクリックすると取得できます。認証キーを取得したら、次のコマンドを実行してください。

        ```bash theme={null}
        squarecloud auth login
        ```
      </Step>

      <Step title="ステップ 3">
        最後に、CLI を使ってアプリケーションを Square Cloud にデプロイするには、zip ファイルのパスを指定して次のコマンドを実行してください。

        ```bash theme={null}
        squarecloud upload zip
        ```
      </Step>
    </Steps>
  </Tab>
</Tabs>
