Skip to main content

Config reference

A config.toml file is generated after running supabase init.

This file is located in the supabase folder under supabase/config.toml.

General

project_id

required

A string used to distinguish different Supabase projects on the same host. Defaults to the working directory name when running supabase init.

API

api.port

required | default: 54321

Port to use for the API URL.

api.schemas

required | default: []

Schemas to expose in your API. Tables, views and stored procedures in this schema will get API endpoints. public and storage are always included.

api.extra_search_path

required | default: ["extensions"]

Extra schemas to add to the search_path of every request.

api.max_rows

required | default: 1000

The maximum number of rows returned from a view, table, or stored procedure. Limits payload size for accidental or malicious requests.

Database

db.port

required | default: 54322

Port to use for the local database URL.

db.major_version

required | default: 14

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.

Dashboard

studio.port

required | default: 54323

Port to use for Supabase Studio.

Local Development

inbucket.port

required | default: 54324

Port to use for the email testing server web interface.

Emails sent with the local dev setup are not actually sent - rather, they are monitored, and you can view the emails that would have been sent from the web interface.

Auth

auth.site_url

required | default: "http://localhost:3000"

The base URL of your website. Used as an allow-list for redirects and for constructing URLs used in emails.

auth.additional_redirect_urls

required | default: ["https://localhost:3000"]

A list of exact URLs that auth providers are permitted to redirect to post authentication.

auth.jwt_expiry

required | default: 3600

How long tokens are valid for, in seconds. Defaults to 3600 (1 hour), maximum 604,800 seconds (one week).

auth.enable_signup

required | default: true

Allow/disallow new user signups to your project.

auth.email.enable_signup

required | default: true

Allow/disallow new user signups via email to your project.

auth.email.double_confirm_changes

required | default: true

If enabled, a user will be required to confirm any email change on both the old, and new email addresses. If disabled, only the new email is required to confirm.

auth.email.enable_confirmations

required | default: true

If enabled, users need to confirm their email address before signing in.

auth.external.<provider>.enabled

required | default: false

Use an external OAuth provider. The full list of providers are:

  • apple
  • azure
  • bitbucket
  • discord
  • facebook
  • github
  • gitlab
  • google
  • twitch
  • twitter
  • slack
  • spotify

auth.external.<provider>.client_id

required | default: ""

Client ID for the external OAuth provider.

auth.external.<provider>.secret

required | default: ""

Client secret for the external OAuth provider.