最終更新日: 2026年3月19日
テンプレート説明
Supabaseは、PostgreSQLをベースとした包括的なバックエンドサービスプラットフォームです。リアルタイムデータベース、認証、ストレージ、RESTful APIを統合的に提供し、開発者がフロントエンドに集中できる環境を実現します。Firebaseの代替として、オープンソースで完全なデータ主権を提供しながら、エンタープライズグレードのスケーラビリティを備えています。
本テンプレートは、Docker ComposeによるSupabaseのフルスタック環境を自動構築します。インストール完了後、管理スクリプトを使用してサービスを起動する必要があります。
メモ
本テンプレートはPooler機能(Supavisor)を含まない構成となっています。接続プーリングが必要な高負荷環境では、別途Supavisorの設定を検討してください。通常の開発・中小規模運用では、本構成で十分なパフォーマンスを発揮します。
スタートアップスクリプトのテンプレートを利用してサーバー作成を行う手順はご利用ガイドを参照してください。
仕様
対応OSイメージ
Ubuntu 24.04 LTS
主要ソフトウェア
| ソフトウェア名 | バージョン | ライセンス | 用途 |
|---|---|---|---|
| Supabase | Latest | Apache 2.0 | 統合バックエンドプラットフォーム |
| PostgreSQL | Latest | PostgreSQL License | メインデータベース |
| PostgREST | Latest | MIT | RESTful API自動生成 |
| GoTrue | Latest | MIT | JWT認証サービス |
| Kong | Latest | Apache 2.0 | APIゲートウェイ |
| Realtime | Latest | Apache 2.0 | WebSocketリアルタイム通信 |
| Storage API | Latest | Apache 2.0 | ファイルストレージサービス |
| pg_meta | Latest | Apache 2.0 | データベースメタデータAPI |
| Studio | Latest | Apache 2.0 | 管理ダッシュボード |
| Docker | Latest | Apache 2.0 | コンテナランタイム |
| Docker Compose | Latest | Apache 2.0 | マルチコンテナオーケストレーション |
| Nginx | Latest | BSD-2-Clause | リバースプロキシ(HTTPS設定時) |
| Certbot | Latest | Apache 2.0 | SSL証明書管理(HTTPS設定時) |
| Let’s Encrypt | – | MPL 2.0 | SSL証明書発行機関 |
スタートアップスクリプト情報
| 項目 | 説明 |
|---|---|
| アプリケーション利用ポート | 8000/tcp (HTTP), 443/tcp (HTTPS設定後) |
| データベースポート | 5432/tcp (PostgreSQL) |
| インストールディレクトリ | /opt/supabase |
| 管理スクリプト | /root/supabase-*.sh |
| 設定ファイル | /opt/supabase/.env |
| 認証情報ファイル | /root/supabase-info.txt |
| 初期状態 | サービス停止中(起動には管理スクリプトが必要) |
その他
最小システム要件
- CPU: 2コア以上
- メモリ: 最小4GB、推奨8GB以上
- ディスク容量: 20GB以上の空き容量
- ネットワーク: パブリックIPアドレス
メモ
Supabaseは複数のマイクロサービスで構成されているため、小規模な開発環境でも4GB以上のメモリを推奨します。本番運用では8GB以上のメモリと、負荷に応じたCPUコア数の増強を検討してください。データベースサイズとトラフィック量に応じて、ディスク容量も適切に確保してください。
利用手順
メモ
スタートアップスクリプトにてアプリケーションのインストールが完了するまで数分かかります。
インストール完了後、rootディレクトリに「supabase-info.txt」というファイルが作成されますのでご確認ください。
ファイルが存在しない場合、作成されるまでしばらくお待ちください。
Step 0: セキュリティグループについて
ConoHa VPS(Ver.3.0)ではサーバー毎にIPアドレスまたはポートでトラフィックを制御するセキュリティグループ(仮想ファイアウォール)が設定されます。
本テンプレートをご利用の場合は、予め利用するポートの通信許可設定が必要です。
詳細はセキュリティグループを参照してください。
Step 1: VPSへの接続
ConoHa VPSのコントロールパネルからVPSの情報を確認し、SSH で接続します。
鍵認証でのSSH接続コマンド例
# ssh -i 秘密鍵ファイルのパス root@VPSのグローバルIPアドレス
メモ
インストール完了までには約10〜15分程度かかります。スタートアップスクリプトの実行状況は、SSH接続後に以下のコマンドで確認できます:
# tail -f /var/log/supabase-install.log
Step 2: インストール情報の確認
インストールが完了すると、認証情報が自動生成されます。以下のコマンドで確認してください:
# cat /root/supabase-info.txt
このファイルには以下の重要な情報が記載されています:
- Studio管理画面のURL
- 管理者ユーザー名とパスワード(Basic認証用)
- APIキー(Anon Key、Service Role Key)
- PostgreSQLデータベース接続情報
Step 3: Dockerイメージの取得
以下のコマンドでDockerイメージを取得します。ネットワーク環境によっては数分かかる場合があります。
# /root/supabase-manage.sh setup
メモ
イメージの取得に失敗した場合は、同じコマンドを再実行してください。
Step 4: サービスの起動
以下のコマンドでSupabaseサービスを起動します。全サービスが起動するまで3〜10分程度かかります。
# /root/supabase-manage.sh start
Step 5: サービスの動作確認
Supabaseサービスの稼働状態を確認します:
# /root/supabase-manage.sh status
または、診断スクリプトを使用して包括的な状態確認を行います:
# /root/supabase-diagnose.sh
Step 6: Studioへのアクセス
Webブラウザで以下のURLにアクセスしてください:
http://[Step 2で確認したURL]
Basic認証のダイアログが表示されますので、supabase-info.txtに記載されているユーザー名とパスワードを入力してください。
Step 7: HTTPS設定(推奨)
本番環境では、HTTPS通信の設定を推奨します。Let’s Encryptを使用した自動SSL証明書設定スクリプトを提供しています。下記コマンドの「[email protected]」は自身のメールアドレスに置き換えてください。
# /root/supabase-https-setup.sh -e [email protected]
カスタムドメインを使用する場合は、-dオプションでドメイン名を指定してください。下記コマンドの「your-domain.com」は自身の独自ドメインに置き換えてください。
# /root/supabase-https-setup.sh -e [email protected] -d your-domain.com
HTTPS設定スクリプトは以下の作業を自動的に実行します:
- Nginxリバースプロキシのインストールと設定
- Let’s Encrypt SSL証明書の取得と設定
- HTTP(ポート80)からHTTPS(ポート443)へのリダイレクト設定
- 証明書の自動更新設定(12時間ごとにチェック)
- 環境変数の更新(HTTPからHTTPSへのURL変更)
- ファイアウォール設定の更新
重要
HTTPS設定を行う前に、使用するドメイン名のDNS Aレコードが、サーバーのIPアドレスを正しく指していることを確認してください。Let’s Encryptの証明書発行には、ドメインの所有権確認が必要です。
管理スクリプト一覧
以下の管理スクリプトが/rootディレクトリに用意されています:
| スクリプト名 | 機能 | 使用例 |
|---|---|---|
| supabase-manage.sh | サービスの起動・停止・再起動・状態確認・ログ表示 | # /root/supabase-manage.sh {setup|start|stop|restart|status|logs} |
| supabase-diagnose.sh | システム状態の診断・確認 | # /root/supabase-diagnose.sh |
| supabase-change-domain.sh | ドメイン名の変更 | # /root/supabase-change-domain.sh -d new-domain.com |
| supabase-https-setup.sh | HTTPS/SSL証明書と独自ドメインの自動設定 | # /root/supabase-https-setup.sh -e [email protected] -d your-domain.com |
主要な操作コマンド
| 操作 | コマンド | 説明 |
|---|---|---|
| イメージ取得 | # /root/supabase-manage.sh setup | 初回起動前に必要なDockerイメージを取得 |
| サービス起動 | # /root/supabase-manage.sh start | 全サービスを起動 |
| サービス停止 | # /root/supabase-manage.sh stop | 全サービスを停止 |
| サービス再起動 | # /root/supabase-manage.sh restart | 全サービスを再起動 |
| 状態確認 | # /root/supabase-manage.sh status | サービスの稼働状況を確認 |
| ログ確認 | # /root/supabase-manage.sh logs | 全サービスのログをリアルタイム表示 |
| 特定サービスのログ | # /root/supabase-manage.sh logs [サービス名] | 指定サービスのログを表示 |
メモ
設定ファイル(/opt/supabase/.env)を変更した場合は、変更を反映させるために必ずサービスの再起動が必要です。
セキュリティグループ設定
以下のポートを開放する必要があります:
| ポート番号 | プロトコル | 用途 | 必須/オプション |
|---|---|---|---|
| 22 | TCP | SSH | 任意 |
| 80 | TCP | HTTP(HTTPS設定時の証明書取得に必要) | 必須 |
| 443 | TCP | HTTPS | 推奨 |
| 8000 | TCP | Supabase Studio(HTTPS設定前のみ) | 必須(HTTPS設定前) |
| 5432 | TCP | PostgreSQL(外部接続が必要な場合のみ) | オプション |
セキュリティ重要
PostgreSQLポート(5432)を外部に開放する場合は、強力なパスワード設定とIP制限を必ず実施してください。本番環境では、データベースへの直接接続ではなく、Supabase APIを経由したアクセスを推奨します。HTTPS設定完了後は、ポート8000を閉じることでセキュリティが向上します。
トラブルシューティング
サービスが起動しない場合
- システムリソースを確認:
# free -hおよび# df -h - Dockerサービスの状態確認:
# systemctl status docker - 個別サービスのログを確認:
# /root/supabase-manage.sh logs [サービス名] - メモリ不足の場合は、VPSプランのアップグレードを検討
Studio管理画面にアクセスできない場合
- ファイアウォール設定を確認:
# ufw status - Kongサービスの状態確認:
# /root/supabase-manage.sh logs kong - ポート8000が他のプロセスで使用されていないか確認:
# netstat -tlnp | grep 8000
データベース接続エラーが発生する場合
- PostgreSQLコンテナの状態確認:
# /root/supabase-manage.sh status - データベースログの確認:
# /root/supabase-manage.sh logs db - 環境変数ファイルの設定確認:
# cat /opt/supabase/.env | grep POSTGRES
アプリケーションの具体的な利用方法につきましては、サービス開発元やサービス提供元の公式サイト、Wikiなどで最新情報をご確認ください。
外部リンク
| サイト名 | URL | 説明 |
|---|---|---|
| Supabase公式サイト | https://supabase.com | プロダクト情報・最新ニュース |
| Supabase公式ドキュメント | https://supabase.com/docs | 技術ドキュメント・チュートリアル |
| SupabaseのGitHubリポジトリ | https://github.com/supabase/supabase | ソースコード・イシュートラッカー |
| Supabase セルフホスティングガイド | https://supabase.com/docs/guides/self-hosting | セルフホスティングの詳細手順 |
| Supabase APIリファレンス | https://supabase.com/docs/reference | API仕様・クライアントライブラリ |
| Supabase Discordコミュニティ | https://discord.supabase.com | コミュニティサポート・質問フォーラム |