Docker
Dockerは、セルフ・ホスト型のSupabaseをはじめるための最も簡単な方法です。
はじめる前に
以下がシステムにインストールされている必要があります。
クイック・スタート
コードを取得
Supabaseのリポジトリーにあるdockerディレクトリをチェックアウトします。
# Get the code
git clone --depth 1 https://github.com/supabase/supabase
# Go to the docker folder
cd supabase/docker
# Copy the fake env vars
cp .env.example .env
# Start
docker-compose up
それでは、http://localhost:3000にアクセスして、Supabase Studioの使用を開始してください。
セットアップをセキュアにする
ここまでの手順では、Supabaseをすぐに使えるようにするため、シックレットの扱いを簡略化しています。上記で紹介した内容そのままのSupabaseのセットアップをデプロイすることは絶対に避けてください。
以下の手順によりDockerのセットアップを保護してください。プロダクションへデプロイする際には、シークレット・マネージャーを使用することを強く推奨します。
APIキーを生成
JWTジェネレーターを使って、JWT_SECRET
により、anon
とservice
のAPIキーを生成します。
生成された値で、以下のファイルの値を置き換えます。
.env
:ANON_KEY
-anon
キーで置き換えますSERVICE_ROLE_KEY
-service
キーで置き換えます
volumes/api/kong.yml
anon
-anon
キーで置き換えますservice_role
-service
キーで置き換えます
シークレットを更新
.env
ファイルを自分のシークレットで更新してください。特に、これらは必須です。
POSTGRES_PASSWORD
:postgres
ロールのパスワードを入力します。JWT_SECRET
: PostgRESTとGoTrueで使用します。SITE_URL
: 自身のサイトのベースになるURL。SMTP_*
: メールサーバーの認証情報。任意のSMTPサーバーを使用できます。
ダッシュボードをセキュアにする
Dockerのセットアップには、ユーザーやログインを管理するための管理データベースを含んでいません。Studioをウェブに配置する場合は、ベーシック認証を備えたウェブ・プロキシの背後に配置するか、VPNの後ろに隠すことをお勧めします。
構成
設定をシンプルにするため、プロダクションにおいては最適ではない選択をしています。
- データベースは、サーバーと同じマシン上に配置
- ストレージはS3ではなくファイルシステムをバックエンドとして使用
デプロイする前にデータベースを分離することを強くお勧めします。それぞれのシステムは、特定のユースケースに合わせて構成できます。
デプロイ方法
以下のガイドを参照して、お好みのツールやプラットフォームを使用してDocker Composeでのセットアップをデプロイしてください。
次のステップ
- 何か疑問があれば、こちらで質問してください
- サインイン:app.supabase.com