Supabase
Setup
# install supabase on the machine brew install supabase/tap/supabase # add supabase package yarn add @supabase/supabase-js
Init Supabase Client
// Server Side Init import { createClient } from '@supabase/supabase-js' const supabase = createClient<Database>( process.env.SUPABASE_URL, process.env.SUPABASE_ANON_KEY ) // Client Side Init import { createClient } from '@supabase/supabase-js' const supabase = createClient( process.env.NEXT_PUBLIC_SUPABASE_URL || "", process.env.NEXT_PUBLIC_SUPABASE_KEY || "" );
Keys, Security, Policies, and Permissions
service_role key is a superuser key for the database.
- NEVER EXPOSE
service_roleAPI key.
anon_public is safe for exposure.
anonuser's permission set is defined by the RLS policies of the table.
you should ALWAYS set up RLS per table
For NextJS
Place in next.config.mjs
const nextConfig = { images: { remotePatterns: [ { protocol: 'https', hostname: 'supabase_page_url', port: '', }, ], }, }