supabaseをローカル環境に立てる
ドキュメント
supabase CLIにログイン
npx supabase login
途中でアクセストークンを求められるので下記URLからトークンを発行
初期化
npx supabase init
dockerの起動
- 何も気にせずただdockerを起動するだけでよい
サービスの開始
npx supabase start
- dockerでサービスが立ち上がる。
failed to connect to host=localhost user=postgres database=postgres
: dial error (dial tcp 127.0.0.1:54322: connect: connection refused)
というエラーが発生した場合は下記手順にて修正を加えてください。
エラーが発生した場合
- npx supabase init するとできる
supabase/config.toml
のportを54322から5432に修正
[db]
# Port to use for the local database URL.
port = 54322
# The database major version to use. This has to be the same as your remote database's. Run `SHOW
# server_version;` on the remote database to check.
major_version = 15
- うまく立ち上がると下記のような情報が表示される
Seeding data supabase/seed.sql...
Started supabase local development setup.
API URL: http://localhost:54321
GraphQL URL: http://localhost:54321/graphql/v1
DB URL: postgresql://postgres:postgres@localhost:5432/postgres
Studio URL: http://localhost:54323
Inbucket URL: http://localhost:54324
JWT secret: super-secret-jwt-token-with-at-least-32-characters-long
anon key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwiXXXXXXXXXXXXXXXXXXXXXXXXXX
service_role key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFXXXXXXXXXXXXXXXXXXXXX
.envファイルを作成
- ルートディレクトリに.envファイルを作成し、下記内容を記述
DIRECT_URL="postgresql://postgres:postgres@localhost:5432/postgres"
WRITER_DATABASE_URL="postgresql://postgres:postgres@localhost:5432/postgres"
- このURLは先ほどのDB URL
prismaを使用している場合はschemaを書きマイグレーションする
npx prisma migrate dev
localのsupabaseにアクセス
エラーが出る場合
- NEXT_PUBLIC_SUPABASE_URLとNEXT_PUBLIC_SUPABASE_ANON_KEYが必要な場合は併せて.envに記載する
NEXT_PUBLIC_SUPABASE_URL=http://localhost:3000/api/v1/
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX