|
| 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`. |
| 5 | +project_id = "basic-flows" |
| 6 | + |
| 7 | +[api] |
| 8 | +enabled = true |
| 9 | +# Port to use for the API URL. |
| 10 | +port = 54321 |
| 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. |
| 15 | +extra_search_path = ["public", "extensions"] |
| 16 | +# The maximum number of rows returns from a view, table, or stored procedure. Limits payload size |
| 17 | +# for accidental or malicious requests. |
| 18 | +max_rows = 1000 |
| 19 | + |
| 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 = true |
| 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 |
| 44 | + |
| 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. |
| 55 | +enabled = 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"] |
| 59 | + |
| 60 | +[realtime] |
| 61 | +enabled = 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 |
| 66 | + |
| 67 | +[studio] |
| 68 | +enabled = true |
| 69 | +# Port to use for Supabase Studio. |
| 70 | +port = 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)" |
| 75 | + |
| 76 | +# Email testing server. Emails sent with the local dev setup are not actually sent - rather, they |
| 77 | +# are monitored, and you can view the emails that would have been sent from the web interface. |
| 78 | +[inbucket] |
| 79 | +enabled = true |
| 80 | +# Port to use for the email testing server web interface. |
| 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 | + |
| 144 | +# Configure one of the supported captcha providers: `hcaptcha`, `turnstile`. |
| 145 | +# [auth.captcha] |
| 146 | +# enabled = true |
| 147 | +# provider = "hcaptcha" |
| 148 | +# secret = "" |
| 149 | + |
| 150 | +[auth.email] |
| 151 | +# Allow/disallow new user signups via email to your project. |
| 152 | +enable_signup = true |
| 153 | +# If enabled, a user will be required to confirm any email change on both the old, and new email |
| 154 | +# addresses. If disabled, only the new email is required to confirm. |
| 155 | +double_confirm_changes = true |
| 156 | +# If enabled, users need to confirm their email address before signing in. |
| 157 | +enable_confirmations = false |
| 158 | +# If enabled, users will need to reauthenticate or have logged in recently to change their password. |
| 159 | +secure_password_change = false |
| 160 | +# Controls the minimum amount of time that must pass before sending another signup confirmation or password reset email. |
| 161 | +max_frequency = "1s" |
| 162 | +# Number of characters used in the email OTP. |
| 163 | +otp_length = 6 |
| 164 | +# Number of seconds before the email OTP expires (defaults to 1 hour). |
| 165 | +otp_expiry = 3600 |
| 166 | + |
| 167 | +# Use a production-ready SMTP server |
| 168 | +# [auth.email.smtp] |
| 169 | +# enabled = true |
| 170 | +# host = "smtp.sendgrid.net" |
| 171 | +# port = 587 |
| 172 | +# user = "apikey" |
| 173 | +# pass = "env(SENDGRID_API_KEY)" |
| 174 | +# admin_email = "admin@email.com" |
| 175 | +# sender_name = "Admin" |
| 176 | + |
| 177 | +# Uncomment to customize email template |
| 178 | +# [auth.email.template.invite] |
| 179 | +# subject = "You have been invited" |
| 180 | +# content_path = "./supabase/templates/invite.html" |
| 181 | + |
| 182 | +[auth.sms] |
| 183 | +# Allow/disallow new user signups via SMS to your project. |
| 184 | +enable_signup = false |
| 185 | +# If enabled, users need to confirm their phone number before signing in. |
| 186 | +enable_confirmations = false |
| 187 | +# Template for sending OTP to users |
| 188 | +template = "Your code is {{ .Code }}" |
| 189 | +# Controls the minimum amount of time that must pass before sending another sms otp. |
| 190 | +max_frequency = "5s" |
| 191 | + |
| 192 | +# Use pre-defined map of phone number to OTP for testing. |
| 193 | +# [auth.sms.test_otp] |
| 194 | +# 4152127777 = "123456" |
| 195 | + |
| 196 | +# Configure logged in session timeouts. |
| 197 | +# [auth.sessions] |
| 198 | +# Force log out after the specified duration. |
| 199 | +# timebox = "24h" |
| 200 | +# Force log out if the user has been inactive longer than the specified duration. |
| 201 | +# inactivity_timeout = "8h" |
| 202 | + |
| 203 | +# This hook runs before a token is issued and allows you to add additional claims based on the authentication method used. |
| 204 | +# [auth.hook.custom_access_token] |
| 205 | +# enabled = true |
| 206 | +# uri = "pg-functions://<database>/<schema>/<hook_name>" |
| 207 | + |
| 208 | +# Configure one of the supported SMS providers: `twilio`, `twilio_verify`, `messagebird`, `textlocal`, `vonage`. |
| 209 | +[auth.sms.twilio] |
| 210 | +enabled = false |
| 211 | +account_sid = "" |
| 212 | +message_service_sid = "" |
| 213 | +# DO NOT commit your Twilio auth token to git. Use environment variable substitution instead: |
| 214 | +auth_token = "env(SUPABASE_AUTH_SMS_TWILIO_AUTH_TOKEN)" |
| 215 | + |
| 216 | +# Multi-factor-authentication is available to Supabase Pro plan. |
| 217 | +[auth.mfa] |
| 218 | +# Control how many MFA factors can be enrolled at once per user. |
| 219 | +max_enrolled_factors = 10 |
| 220 | + |
| 221 | +# Control MFA via App Authenticator (TOTP) |
| 222 | +[auth.mfa.totp] |
| 223 | +enroll_enabled = false |
| 224 | +verify_enabled = false |
| 225 | + |
| 226 | +# Configure MFA via Phone Messaging |
| 227 | +[auth.mfa.phone] |
| 228 | +enroll_enabled = false |
| 229 | +verify_enabled = false |
| 230 | +otp_length = 6 |
| 231 | +template = "Your code is {{ .Code }}" |
| 232 | +max_frequency = "5s" |
| 233 | + |
| 234 | +# Configure MFA via WebAuthn |
| 235 | +# [auth.mfa.web_authn] |
| 236 | +# enroll_enabled = true |
| 237 | +# verify_enabled = true |
| 238 | + |
| 239 | +# Use an external OAuth provider. The full list of providers are: `apple`, `azure`, `bitbucket`, |
| 240 | +# `discord`, `facebook`, `github`, `gitlab`, `google`, `keycloak`, `linkedin_oidc`, `notion`, `twitch`, |
| 241 | +# `twitter`, `slack`, `spotify`, `workos`, `zoom`. |
| 242 | +[auth.external.apple] |
| 243 | +enabled = false |
| 244 | +client_id = "" |
| 245 | +# DO NOT commit your OAuth provider secret to git. Use environment variable substitution instead: |
| 246 | +secret = "env(SUPABASE_AUTH_EXTERNAL_APPLE_SECRET)" |
| 247 | +# Overrides the default auth redirectUrl. |
| 248 | +redirect_uri = "" |
| 249 | +# Overrides the default auth provider URL. Used to support self-hosted gitlab, single-tenant Azure, |
| 250 | +# or any other third-party OIDC providers. |
| 251 | +url = "" |
| 252 | +# If enabled, the nonce check will be skipped. Required for local sign in with Google auth. |
| 253 | +skip_nonce_check = false |
| 254 | + |
| 255 | +# Use Firebase Auth as a third-party provider alongside Supabase Auth. |
| 256 | +[auth.third_party.firebase] |
| 257 | +enabled = false |
| 258 | +# project_id = "my-firebase-project" |
| 259 | + |
| 260 | +# Use Auth0 as a third-party provider alongside Supabase Auth. |
| 261 | +[auth.third_party.auth0] |
| 262 | +enabled = false |
| 263 | +# tenant = "my-auth0-tenant" |
| 264 | +# tenant_region = "us" |
| 265 | + |
| 266 | +# Use AWS Cognito (Amplify) as a third-party provider alongside Supabase Auth. |
| 267 | +[auth.third_party.aws_cognito] |
| 268 | +enabled = false |
| 269 | +# user_pool_id = "my-user-pool-id" |
| 270 | +# user_pool_region = "us-east-1" |
| 271 | + |
| 272 | +# Use Clerk as a third-party provider alongside Supabase Auth. |
| 273 | +[auth.third_party.clerk] |
| 274 | +enabled = false |
| 275 | +# Obtain from https://clerk.com/setup/supabase |
| 276 | +# domain = "example.clerk.accounts.dev" |
| 277 | + |
| 278 | +[edge_runtime] |
| 279 | +enabled = true |
| 280 | +# Configure one of the supported request policies: `oneshot`, `per_worker`. |
| 281 | +# Use `oneshot` for hot reload, or `per_worker` for load testing. |
| 282 | +policy = "per_worker" |
| 283 | +# Port to attach the Chrome inspector for debugging edge functions. |
| 284 | +inspector_port = 8083 |
| 285 | +# The Deno major version to use. |
| 286 | +deno_version = 1 |
| 287 | + |
| 288 | +# [edge_runtime.secrets] |
| 289 | +# secret_key = "env(SECRET_VALUE)" |
| 290 | + |
| 291 | +[analytics] |
| 292 | +enabled = true |
| 293 | +port = 54327 |
| 294 | +# Configure one of the supported backends: `postgres`, `bigquery`. |
| 295 | +backend = "postgres" |
| 296 | + |
| 297 | +# Experimental features may be deprecated any time |
| 298 | +[experimental] |
| 299 | +# Configures Postgres storage engine to use OrioleDB (S3) |
| 300 | +orioledb_version = "" |
| 301 | +# Configures S3 bucket URL, eg. <bucket_name>.s3-<region>.amazonaws.com |
| 302 | +s3_host = "env(S3_HOST)" |
| 303 | +# Configures S3 bucket region, eg. us-east-1 |
| 304 | +s3_region = "env(S3_REGION)" |
| 305 | +# Configures AWS_ACCESS_KEY_ID for S3 bucket |
| 306 | +s3_access_key = "env(S3_ACCESS_KEY)" |
| 307 | +# Configures AWS_SECRET_ACCESS_KEY for S3 bucket |
| 308 | +s3_secret_key = "env(S3_SECRET_KEY)" |
| 309 | + |
| 310 | +[functions.sequential] |
| 311 | +enabled = true |
| 312 | +verify_jwt = false |
| 313 | +import_map = "./functions/sequential/deno.json" |
| 314 | +entrypoint = "./functions/sequential/index.ts" |
0 commit comments