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: '', }, ], }, }