VPSでSupabaseをセルフホストする方法(完全ガイド)
SupabaseはFirebaseのオープンソース代替であり、強力なバックエンド・アズ・ア・サービスプラットフォームを提供します。これをVPSにホスティングすることで、データや設定の完全なコントロールを得ることができます。本ガイドでは、Dockerを使用した簡単なデプロイ方法を含め、VPS上でSupabaseをセルフホストする手順を詳しく解説します。
必要条件
開始する前に、以下を準備してください。
- DigitalOcean や Hetzner といったプロバイダーのVPS(最低2 GB RAMと1 CPU搭載)
- Dockerとコマンドラインインターフェース(CLI)の基本知識
- VPSへアクセスするためのSSHクライアント
| プロバイダー | 初期価格 | 推奨スペック |
|---|---|---|
| Contabo VPS | 5.99 EUR/月 | 2 GB RAM、1 CPU |
| Hetzner Cloud | 4.15 EUR/月 | 2 GB RAM、1 CPU |
| DigitalOcean | 6 USD/月 | 2 GB RAM、1 CPU |
| Vultr | 6 USD/月 | 1 GB RAM、1 CPU |
| Linode (Akamai) | 5 USD/月 | 2 GB RAM、1 CPU |
より多くのVPSオプションは full VPS comparison で比較可能です。
ステップ1:VPSの準備
まず、VPSのセットアップを行います。一般的には以下の手順です。
-
オペレーティングシステムの選択:Dockerとの互換性を考慮し、Ubuntu 20.04 LTSを推奨します。
-
VPSにアクセス:SSHを使用してサーバーに接続します。
ssh username@your-vps-ip -
システムの更新:パッケージを最新の状態にします。
sudo apt update sudo apt upgrade -y
ステップ2:Dockerのインストール
Supabaseを動かすには、VPSにDockerをインストールする必要があります。以下のコマンドを実行してください。
-
依存関係のインストール
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y -
Dockerの公式GPGキーを追加
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - -
安定リポジトリのセットアップ
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" -
Dockerのインストール
sudo apt update sudo apt install docker-ce -y -
Dockerの起動と有効化
sudo systemctl start docker sudo systemctl enable docker -
インストール検証
docker --version
ステップ3:SupabaseのDockerイメージを取得・起動
Dockerの設定が完了したら、SupabaseのDockerイメージを取得します。
-
Supabaseプロジェクト用のディレクトリ作成
mkdir supabase && cd supabase -
Docker Composeファイルの作成
docker-compose.ymlファイルを以下内容で作成します:version: '3.8' services: db: image: supabase/postgres environment: POSTGRES_PASSWORD: your_password POSTGRES_USER: your_user POSTGRES_DB: your_db ports: - "5432:5432" auth: image: supabase/gotrue ports: - "9999:9999" realtime: image: supabase/realtime ports: - "4000:4000" studio: image: supabase/studio ports: - "3000:3000"your_password、your_user、your_dbはお好みの値に置き換えてください。 -
Supabaseサービスの起動
docker-compose.ymlと同じディレクトリで次のコマンドを実行します:docker-compose up -d -
サービスの状態確認
ログを確認するには次を実行します:
docker-compose logs
ステップ4:Supabase Studioにアクセス
サービスが稼働したら、ブラウザで http://your-vps-ip:3000 にアクセスしてSupabase Studioを開くことができます。ここから、データベースや認証設定などを管理できます。
よくある質問
Q1: VPSでSupabaseをセルフホストするメリットは何ですか?
VPSでSupabaseをセルフホストすることで、より高度なコントロール、セキュリティの強化、カスタマイズ設定が可能になります。ハードウェアやソフトウェアを自分で管理できるため、特定のコンプライアンスニーズに対応できます。また、長期的にはコスト効率が良くなる場合もあり、特に大量の利用が見込まれる場合はベンダーロックインを避け、データ所有権を保持できます。
Q2: さらなるリソースが必要になったら、Supabaseインスタンスを拡張できますか?
はい、必要に応じて拡張可能です。よりCPUやRAMの多いプランにアップグレードしたり、Docker設定を最適化したりできます。これらの方法はダウンタイムを最小限に抑えつつ実行可能で、アプリケーションの稼働を維持しながらインフラ調整が可能です。
Q3: 自セルフホスティング時に一般的に直面する問題は何ですか?
よくある問題は設定ミス、VPSのリソース不足、ネットワークの問題です。Dockerコンテナが正しく設定されているか、VPSが必要なスペックを満たしているか確認してください。さらに、r/selfhosted のコミュニティでトラブルシューティングのヒントやベストプラクティスを参照することもおすすめです。
このガイドを参考にして、VPS上でSupabaseを成功裏にセルフホストし、堅牢なバックエンドソリューションを手に入れましょう。