Deploy to Production
Deploy your Edge Functions to your remote Supabase Project.
Once you have developed your Edge Functions locally, you can deploy them to your Supabase project.
Login to the CLI
Log in to the Supabase CLI if necessary:
1supabase login
CLI not installed?
See the CLI Docs to learn how to install the Supabase CLI on your local machine.
Get your project ID
Get the project ID associated with your function by running:
1supabase projects list
Need a new project?
If you haven't yet created a Supabase project, you can do so by visiting database.new.
Link your local project
Link your local project to your remote Supabase project using the ID you just retrieved:
1supabase link --project-ref your-project-id
Deploy your Edge Functions
Docker required
Since Supabase CLI version 1.123.4, you must have Docker Desktop installed to deploy Edge Functions.
You can deploy all of your Edge Functions with a single command:
1supabase functions deploy
You can deploy individual Edge Functions by specifying the name of the function in the deploy command:
1supabase functions deploy hello-world
By default, Edge Functions require a valid JWT in the authorization header. If you want to use Edge Functions without Authorization checks (commonly used for Stripe webhooks), you can pass the --no-verify-jwt
flag when deploying your Edge Functions.
1supabase functions deploy hello-world --no-verify-jwt
Be careful when using this flag, as it will allow anyone to invoke your Edge Function without a valid JWT. The Supabase client libraries automatically handle authorization.
Invoking remote functions
You can now invoke your Edge Function using the project's ANON_KEY
, which can be found in the API settings of the Supabase Dashboard.
1234curl --request POST 'https://<project_id>.supabase.co/functions/v1/hello-world' \ --header 'Authorization: Bearer ANON_KEY' \ --header 'Content-Type: application/json' \ --data '{ "name":"Functions" }'
You should receive the response { "message":"Hello Functions!" }
.