メインコンテンツまでスキップ

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により、anonserviceの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でのセットアップをデプロイしてください。

次のステップ