1- # A string used to distinguish different Supabase projects on the same machine.
2- # Not required if you have a single project open.
1+ # For detailed configuration reference documentation, visit:
2+ # https://supabase.com/docs/guides/local-development/cli/config
3+ # A string used to distinguish different Supabase projects on the same host. Defaults to the
4+ # working directory name when running `supabase init`.
35project_id = " ttbkk-edge"
46
57[api ]
68enabled = true
79# Port to use for the API URL.
810port = 54321
9- # Schemas to expose in your API. Tables, views and stored procedures in this schema will get API endpoints.
10- # public and storage are always included.
11- schemas = [" public" , " storage " , " graphql_public" ]
12- # Extra schemas to add to the search_path of every request. public is always included.
11+ # Schemas to expose in your API. Tables, views and stored procedures in this schema will get API
12+ # endpoints. ` public` and `graphql_public` schemas are included by default .
13+ schemas = [" public" , " graphql_public" ]
14+ # Extra schemas to add to the search_path of every request.
1315extra_search_path = [" public" , " extensions" ]
14- # The maximum number of rows returned from a table RPC. Limits payload size for accidental or malicious requests.
16+ # The maximum number of rows returns from a view, table, or stored procedure. Limits payload size
17+ # for accidental or malicious requests.
1518max_rows = 1000
1619
17- [auth ]
18- enabled = true
19- # The base URL of your website. Used as an allow-list for redirects and for constructing URLs used
20- # in emails.
21- site_url = " http://localhost:3000"
20+ [api .tls ]
21+ # Enable HTTPS endpoints locally using a self-signed certificate.
22+ enabled = false
23+
24+ [db ]
25+ # Port to use for the local database URL.
26+ port = 54322
27+ # Port used by db diff command to initialize the shadow database.
28+ shadow_port = 54320
29+ # The database major version to use. This has to be the same as your remote database's. Run `SHOW
30+ # server_version;` on the remote database to check.
31+ major_version = 15
32+
33+ [db .pooler ]
34+ enabled = false
35+ # Port to use for the local connection pooler.
36+ port = 54329
37+ # Specifies when a server connection can be reused by other clients.
38+ # Configure one of the supported pooler modes: `transaction`, `session`.
39+ pool_mode = " transaction"
40+ # How many server connections to allow per user/database pair.
41+ default_pool_size = 20
42+ # Maximum number of client connections allowed.
43+ max_client_conn = 100
2244
23- [functions ]
24- # Enable or disable Edge Functions
45+ # [db.vault]
46+ # secret_key = "env(SECRET_VALUE)"
47+
48+ [db .migrations ]
49+ # Specifies an ordered list of schema files that describe your database.
50+ # Supports glob patterns relative to supabase directory: "./schemas/*.sql"
51+ schema_paths = []
52+
53+ [db .seed ]
54+ # If enabled, seeds the database after migrations during a db reset.
2555enabled = true
56+ # Specifies an ordered list of seed files to load during db reset.
57+ # Supports glob patterns relative to supabase directory: "./seeds/*.sql"
58+ sql_paths = [" ./seed.sql" ]
2659
27- [edge_runtime ]
60+ [realtime ]
2861enabled = true
62+ # Bind realtime via either IPv4 or IPv6. (default: IPv4)
63+ # ip_version = "IPv6"
64+ # The maximum length in bytes of HTTP request headers. (default: 4096)
65+ # max_header_length = 4096
2966
3067[studio ]
3168enabled = true
3269# Port to use for Supabase Studio.
3370port = 54323
71+ # External URL of the API server that frontend connects to.
72+ api_url = " http://127.0.0.1"
73+ # OpenAI API Key to use for Supabase AI in the Supabase Studio.
74+ openai_api_key = " env(OPENAI_API_KEY)"
3475
3576# Email testing server. Emails sent with the local dev setup are not actually sent - rather, they
3677# are monitored, and you can view the emails that would have been sent from the web interface.
3778[inbucket ]
3879enabled = true
3980# Port to use for the email testing server web interface.
40- port = 54324
81+ port = 54324
82+ # Uncomment to expose additional ports for testing user applications that send emails.
83+ # smtp_port = 54325
84+ # pop3_port = 54326
85+ # admin_email = "admin@email.com"
86+ # sender_name = "Admin"
87+
88+ [storage ]
89+ enabled = true
90+ # The maximum file size allowed (e.g. "5MB", "500KB").
91+ file_size_limit = " 50MiB"
92+
93+ # Image transformation API is available to Supabase Pro plan.
94+ # [storage.image_transformation]
95+ # enabled = true
96+
97+ # Uncomment to configure local storage buckets
98+ # [storage.buckets.images]
99+ # public = false
100+ # file_size_limit = "50MiB"
101+ # allowed_mime_types = ["image/png", "image/jpeg"]
102+ # objects_path = "./images"
103+
104+ [auth ]
105+ enabled = true
106+ # The base URL of your website. Used as an allow-list for redirects and for constructing URLs used
107+ # in emails.
108+ site_url = " http://127.0.0.1:3000"
109+ # A list of *exact* URLs that auth providers are permitted to redirect to post authentication.
110+ additional_redirect_urls = [" https://127.0.0.1:3000" ]
111+ # How long tokens are valid for, in seconds. Defaults to 3600 (1 hour), maximum 604,800 (1 week).
112+ jwt_expiry = 3600
113+ # If disabled, the refresh token will never expire.
114+ enable_refresh_token_rotation = true
115+ # Allows refresh tokens to be reused after expiry, up to the specified interval in seconds.
116+ # Requires enable_refresh_token_rotation = true.
117+ refresh_token_reuse_interval = 10
118+ # Allow/disallow new user signups to your project.
119+ enable_signup = true
120+ # Allow/disallow anonymous sign-ins to your project.
121+ enable_anonymous_sign_ins = false
122+ # Allow/disallow testing manual linking of accounts
123+ enable_manual_linking = false
124+ # Passwords shorter than this value will be rejected as weak. Minimum 6, recommended 8 or more.
125+ minimum_password_length = 6
126+ # Passwords that do not meet the following requirements will be rejected as weak. Supported values
127+ # are: `letters_digits`, `lower_upper_letters_digits`, `lower_upper_letters_digits_symbols`
128+ password_requirements = " "
129+
130+ [auth .rate_limit ]
131+ # Number of emails that can be sent per hour. Requires auth.email.smtp to be enabled.
132+ email_sent = 2
133+ # Number of SMS messages that can be sent per hour. Requires auth.sms to be enabled.
134+ sms_sent = 30
135+ # Number of anonymous sign-ins that can be made per hour per IP address. Requires enable_anonymous_sign_ins = true.
136+ anonymous_users = 30
137+ # Number of sessions that can be refreshed in a 5 minute interval per IP address.
138+ token_refresh = 150
139+ # Number of sign up and sign-in requests that can be made in a 5 minute interval per IP address (excludes anonymous users).
140+ sign_in_sign_ups = 30
141+ # Number of OTP / Magic link verifications that can be made in a 5 minute interval per IP address.
142+ token_verifications = 30
143+ # Number of Web3 logins that can be made in a 5 minute interval per IP address.
144+ web3 = 30
145+
146+ # Configure one of the supported captcha providers: `hcaptcha`, `turnstile`.
147+ # [auth.captcha]
148+ # enabled = true
149+ # provider = "hcaptcha"
150+ # secret = ""
151+
152+ [auth .email ]
153+ # Allow/disallow new user signups via email to your project.
154+ enable_signup = true
155+ # If enabled, a user will be required to confirm any email change on both the old, and new email
156+ # addresses. If disabled, only the new email is required to confirm.
157+ double_confirm_changes = true
158+ # If enabled, users need to confirm their email address before signing in.
159+ enable_confirmations = false
160+ # If enabled, users will need to reauthenticate or have logged in recently to change their password.
161+ secure_password_change = false
162+ # Controls the minimum amount of time that must pass before sending another signup confirmation or password reset email.
163+ max_frequency = " 1s"
164+ # Number of characters used in the email OTP.
165+ otp_length = 6
166+ # Number of seconds before the email OTP expires (defaults to 1 hour).
167+ otp_expiry = 3600
168+
169+ # Use a production-ready SMTP server
170+ # [auth.email.smtp]
171+ # enabled = true
172+ # host = "smtp.sendgrid.net"
173+ # port = 587
174+ # user = "apikey"
175+ # pass = "env(SENDGRID_API_KEY)"
176+ # admin_email = "admin@email.com"
177+ # sender_name = "Admin"
178+
179+ # Uncomment to customize email template
180+ # [auth.email.template.invite]
181+ # subject = "You have been invited"
182+ # content_path = "./supabase/templates/invite.html"
183+
184+ [auth .sms ]
185+ # Allow/disallow new user signups via SMS to your project.
186+ enable_signup = false
187+ # If enabled, users need to confirm their phone number before signing in.
188+ enable_confirmations = false
189+ # Template for sending OTP to users
190+ template = " Your code is {{ .Code }}"
191+ # Controls the minimum amount of time that must pass before sending another sms otp.
192+ max_frequency = " 5s"
193+
194+ # Use pre-defined map of phone number to OTP for testing.
195+ # [auth.sms.test_otp]
196+ # 4152127777 = "123456"
197+
198+ # Configure logged in session timeouts.
199+ # [auth.sessions]
200+ # Force log out after the specified duration.
201+ # timebox = "24h"
202+ # Force log out if the user has been inactive longer than the specified duration.
203+ # inactivity_timeout = "8h"
204+
205+ # This hook runs before a token is issued and allows you to add additional claims based on the authentication method used.
206+ # [auth.hook.custom_access_token]
207+ # enabled = true
208+ # uri = "pg-functions://<database>/<schema>/<hook_name>"
209+
210+ # Configure one of the supported SMS providers: `twilio`, `twilio_verify`, `messagebird`, `textlocal`, `vonage`.
211+ [auth .sms .twilio ]
212+ enabled = false
213+ account_sid = " "
214+ message_service_sid = " "
215+ # DO NOT commit your Twilio auth token to git. Use environment variable substitution instead:
216+ auth_token = " env(SUPABASE_AUTH_SMS_TWILIO_AUTH_TOKEN)"
217+
218+ # Multi-factor-authentication is available to Supabase Pro plan.
219+ [auth .mfa ]
220+ # Control how many MFA factors can be enrolled at once per user.
221+ max_enrolled_factors = 10
222+
223+ # Control MFA via App Authenticator (TOTP)
224+ [auth .mfa .totp ]
225+ enroll_enabled = false
226+ verify_enabled = false
227+
228+ # Configure MFA via Phone Messaging
229+ [auth .mfa .phone ]
230+ enroll_enabled = false
231+ verify_enabled = false
232+ otp_length = 6
233+ template = " Your code is {{ .Code }}"
234+ max_frequency = " 5s"
235+
236+ # Configure MFA via WebAuthn
237+ # [auth.mfa.web_authn]
238+ # enroll_enabled = true
239+ # verify_enabled = true
240+
241+ # Use an external OAuth provider. The full list of providers are: `apple`, `azure`, `bitbucket`,
242+ # `discord`, `facebook`, `github`, `gitlab`, `google`, `keycloak`, `linkedin_oidc`, `notion`, `twitch`,
243+ # `twitter`, `slack`, `spotify`, `workos`, `zoom`.
244+ [auth .external .apple ]
245+ enabled = false
246+ client_id = " "
247+ # DO NOT commit your OAuth provider secret to git. Use environment variable substitution instead:
248+ secret = " env(SUPABASE_AUTH_EXTERNAL_APPLE_SECRET)"
249+ # Overrides the default auth redirectUrl.
250+ redirect_uri = " "
251+ # Overrides the default auth provider URL. Used to support self-hosted gitlab, single-tenant Azure,
252+ # or any other third-party OIDC providers.
253+ url = " "
254+ # If enabled, the nonce check will be skipped. Required for local sign in with Google auth.
255+ skip_nonce_check = false
256+
257+ # Allow Solana wallet holders to sign in to your project via the Sign in with Solana (SIWS, EIP-4361) standard.
258+ # You can configure "web3" rate limit in the [auth.rate_limit] section and set up [auth.captcha] if self-hosting.
259+ [auth .web3 .solana ]
260+ enabled = false
261+
262+ # Use Firebase Auth as a third-party provider alongside Supabase Auth.
263+ [auth .third_party .firebase ]
264+ enabled = false
265+ # project_id = "my-firebase-project"
266+
267+ # Use Auth0 as a third-party provider alongside Supabase Auth.
268+ [auth .third_party .auth0 ]
269+ enabled = false
270+ # tenant = "my-auth0-tenant"
271+ # tenant_region = "us"
272+
273+ # Use AWS Cognito (Amplify) as a third-party provider alongside Supabase Auth.
274+ [auth .third_party .aws_cognito ]
275+ enabled = false
276+ # user_pool_id = "my-user-pool-id"
277+ # user_pool_region = "us-east-1"
278+
279+ # Use Clerk as a third-party provider alongside Supabase Auth.
280+ [auth .third_party .clerk ]
281+ enabled = false
282+ # Obtain from https://clerk.com/setup/supabase
283+ # domain = "example.clerk.accounts.dev"
284+
285+ [edge_runtime ]
286+ enabled = true
287+ # Configure one of the supported request policies: `oneshot`, `per_worker`.
288+ # Use `oneshot` for hot reload, or `per_worker` for load testing.
289+ policy = " oneshot"
290+ # Port to attach the Chrome inspector for debugging edge functions.
291+ inspector_port = 8083
292+ # The Deno major version to use.
293+ deno_version = 1
294+
295+ # [edge_runtime.secrets]
296+ # secret_key = "env(SECRET_VALUE)"
297+
298+ [analytics ]
299+ enabled = true
300+ port = 54327
301+ # Configure one of the supported backends: `postgres`, `bigquery`.
302+ backend = " postgres"
303+
304+ # Experimental features may be deprecated any time
305+ [experimental ]
306+ # Configures Postgres storage engine to use OrioleDB (S3)
307+ orioledb_version = " "
308+ # Configures S3 bucket URL, eg. <bucket_name>.s3-<region>.amazonaws.com
309+ s3_host = " env(S3_HOST)"
310+ # Configures S3 bucket region, eg. us-east-1
311+ s3_region = " env(S3_REGION)"
312+ # Configures AWS_ACCESS_KEY_ID for S3 bucket
313+ s3_access_key = " env(S3_ACCESS_KEY)"
314+ # Configures AWS_SECRET_ACCESS_KEY for S3 bucket
315+ s3_secret_key = " env(S3_SECRET_KEY)"
0 commit comments