Supabaseアプリイメージを利用する
1.Supabaseについて
1-1.Supabaseとは
Supabaseは、Firebaseの代替として注目されるオープンソースのBaaS(Backend as a Service)です。
本アプリイメージを利用すれば、VPS上にSupabase環境を素早く構築できます。
クラウド版と同様に、Webベースの管理ツール「Supabase Studio」が標準搭載されており、ノーコードでテーブル作成、データ編集などを直感的に操作できます。
開発経験がない方でも、簡単に本格的なバックエンド環境を構築・運用することが可能です。
1-2.特徴
特徴 | 説明 |
---|---|
ノーコードで操作可能な管理画面 | Supabase Studioを使って、テーブル作成、データ編集などをすべてWeb上で完結できます。 |
主要なバックエンド機能を標準搭載 | ユーザー認証、データベース管理、ファイルのアップロード、リアルタイム通信、API連携など、Webアプリに必要な機能をひと通り備えています。 |
PostgreSQLベース | データベースにPostgreSQLを採用しており、高速な検索や柔軟なデータ設計が可能です。 |
1-3.活用例
活用例 | 説明 |
---|---|
Webアプリのバックエンド構築 | 会員登録やログイン、データ保存やファイル管理など、Webアプリに必要なバックエンド機能をまとめて構築できます。 |
プロトタイピング | バックエンド構築やデータベース設計を簡略化し、UI開発に集中できます。 |
ゲーム開発でのユーザー情報管理 | ユーザー情報、課金、スコア、アチーブメントなどをPostgreSQLで効率的に管理できます。 |
IoTのログ収集・リアルタイム処理 | Edge Functionsを活用し、データ加工・保存・通知処理をリアルタイムに実行できます。 |
2.Supabaseアプリイメージインストール手順
利用可能プランについて
シンVPSをご利用中の方
1.「追加申し込み」をクリック
シンアカウントへログインし、「追加申し込み」をクリックしてください。
2.Supabaseをインストール
「イメージタイプ」における「アプリケーション」タブより「Supabase」をクリックしてください。
アプリケーションが選択できない場合
3.事前準備
3-1.パケットフィルターの設定
Supabaseを利用するには、使用する機能に応じて、以下のポートを開放する必要があります。
必須ポートについては必ず開放し、任意ポートについては必要に応じて設定してください。
VPSパネルの「パケットフィルター設定」画面から「ONにする(推奨)」にチェックを入れ、 該当のポートを許可するルールを追加してください。
必須ポート
用途 | ポート番号 | 目的 |
---|---|---|
HTTP | TCP 80 | Let’s Encrypt による SSL 証明書の取得・更新を行うため。 |
HTTPS | TCP 443 | Supabase Studio や API へ暗号化通信でアクセスするため。 |
Supabase Studio | TCP 8000 | WebブラウザからGUI管理画面にアクセスするため。 |
任意ポート
用途 | ポート番号 | 目的 |
---|---|---|
SSH | TCP 22 | Tera TermなどのSSHクライアントを使ってサーバーに接続する場合。 |
PostgreSQL | TCP 5432 | 外部のクライアントからSupabaseのデータベースへ直接接続する場合。 |
Supabase Pooler | TCP 6543 | PgBouncerを使用する場合。 |
ご利用の構成や機能に応じて必要なポートのみ開放してください。
使用していない機能に関連するポートは、セキュリティ上の観点から開放しないことを推奨します。
パケットフィルターの設定は下記マニュアルからご確認ください。
「パケットフィルターの設定について」
3-2.ドメインの準備
Supabaseは、Webブラウザまたは専用アプリを通じたアクセスが前提となるため、SSL/TLSによる暗号化通信(HTTPS)の利用を推奨します。
独自のドメインを準備し、DNSの「Aレコード」にVPSのIPアドレスを設定してください。
4.Supabaseセットアップ手順
4-1.Supabaseセットアップ
外部アプリケーションやクライアントが安全にアクセスするための「APIキー(JWT)」を「Supabase公式ガイド」に従い作成する必要があります。
1.JWT Secret確認
2.ANON Key作成
「Key」の項目を「ANON KEY」に設定し、「Generate JWT」を押下すると 「Generated Token」が表示されるので値を確認してください。
※手順8で使用します
3.Service Key作成
「Key」の項目を「SERVICE KEY」に設定し、「Generate JWT」を押下すると「Generated Token」が表示されるので値を確認してください。
※手順8で使用します
4.サーバーに接続する
VPSに「SSH」、または「コンソール」からサーバーにログインします。
※コピー&ペーストが可能なSSHクライアントソフトを使用し、「SSH」で作業を実施していただくことをおすすめします。 本マニュアルではTera Termを使用します。
Tera Termを起動し、VPSのIPアドレスを入力してください。
5.ユーザー名、パスフレーズを入力
「ユーザー名(N)」に「root」、「パスフレーズ(P)」にアプリイメージのインストール時に設定したパスフレーズを入力してください。
6.Supabase接続情報確認
ログインした際にSupabaseの接続に必要な情報が下記の画像のような情報で表示されますので、「Supabase URL」、「Dashboard Username」、「Dashboard Password」を確認してください。
※手順11で使用します
7.設定ファイルを開く
下記のコマンドを実行し、設定ファイルを開いてください。
nano /root/supabase/docker/.env
8.ファイル編集
デフォルトの設定を削除し、「1.JWT Secret確認」「2.ANON Key作成」「3.Service Key作成」で確認した設定値に書き換えてください。
JWT_SECRET=1で確認した「JWT Secret」の値
ANON_KEY=2で作成した「ANON KEY」の「Generated Token」の値
SERVICE_ROLE_KEY=3で作成した「SERVICE KEY」の「Generated Token」の値
9.ディレクトリの移動
以下のコマンドを実行し、ディレクトリを移動してください。
cd /root/supabase/docker
10.Supabase再起動
以下のコマンドを実行し、Supabaseを再起動してください。
docker compose down
docker compose up -d
11.Supabase接続
ウェブブラウザより「6.Supabase接続情報確認」で確認した「Supabase URL」に接続してください。
12.ユーザー名、パスワードを入力
Basic認証にてログインが求められますので、「6.Supabase接続情報確認」で確認した 「Dashboard Username」と「Dashboard Password」を入力し、ログインしてください。
13.接続完了
以下画面が表示されたら、接続完了です。
4-2.SSL/TLS設定
本手順を実施いただくことで、通信を暗号化するSSL/TLSの設定を行うことができます。
※証明書にはLet's Encryptを使用します
VPSの「SSH」、または「コンソール」からログイン後、下記のコマンドを実行してください。
bash /root/ssl_setup.sh <ドメイン>
※「<ドメイン>」には「ドメインの準備」で準備したものを利用してください。
※「<ドメイン>」の前には半角スペースを入力してください。
実行完了後、ドメイン名でのアクセスが可能になります。
URLでブラウザからアクセスを行い、ご確認ください。
5.アップデート
6.その他詳細情報
その他の詳細は「Supabase公式ガイド」をご確認ください。