Open-Source Wikis

/

Supabase

/

Reference

/

Configuration

supabase/supabase

Configuration

Where the workspace's configuration lives, by topic. The list is exhaustive enough to navigate by — for the actual schemas, read the linked file.

Workspace-level

File Role
package.json Root scripts and dev dependencies.
pnpm-workspace.yaml Workspace globs, pnpm catalogs, dependency overrides, patched dependencies.
pnpm-lock.yaml The lockfile (~1.3 MB).
turbo.jsonc Turborepo pipelines (build, lint, dev, test, typecheck).
tsconfig.json Workspace TS config (extends shared base from packages/tsconfig).
prettier.config.mjs Prettier config; uses prettier-plugin-sql-cst and @ianvs/prettier-plugin-sort-imports.
knip.jsonc Knip config for unused-export detection.
supa-mdx-lint.config.toml MDX lint rules used by docs.
Makefile Convenience targets.
.nvmrc Pinned Node major.
.npmrc Registry / hoist tweaks.
.misspell-fixer.ignore Allowed words for the misspell-fixer workflow.
.gitignore Includes the explicit apps/new-docs/* (abandoned) and various .env* rules.
i18n/ Generated localization snippets.
patches/react-data-grid.patch Patch applied via pnpm to react-data-grid for Studio's table editor.

App-specific

App Files of interest
apps/studio next.config.ts, csp.ts, proxy.ts, instrumentation*.ts, eslint.config.cjs, eslint.type-checks.config.cjs, vitest.config.ts, tailwind.config.ts.
apps/docs next.config.mjs, middleware.ts, vitest.config.ts, vitest.setup.ts, tailwind.config.cjs, vercel.json.
apps/www next.config.mjs, next.config.test.ts, middleware.ts, tailwind.config.js, vercel.json, schema.sql.
apps/design-system next.config.mjs, contentlayer.config.js, tailwind.config.js.
apps/ui-library next.config.mjs, contentlayer.config.js, components.json.
apps/learn next.config.mjs, contentlayer.config.js.
apps/lite-studio vite.config.ts, react-router.config.ts, Dockerfile.

Self-host

File Role
docker/docker-compose.yml The main bundle.
docker/.env.example Every tunable env var (~10 KB).
docker/docker-compose.{s3,rustfs,caddy,envoy,nginx,pg17}.yml Overrides for storage backends, edge proxies, Postgres major.
docker/volumes/ Bind-mounted configs (e.g. Kong config, Vector config).

Environment variables (most-used)

For Studio:

  • STUDIO_PORT — port to bind dev server on (default 8082).
  • NEXT_PUBLIC_STUDIO_AUTH_MODEsupabase (hosted) or none (self-host).
  • POSTGRES_PASSWORD, SUPABASE_SERVICE_KEY — required when running against a docker stack.
  • DEFAULT_ORGANIZATION_NAME, DEFAULT_PROJECT_NAME — initial selections.
  • SKIP_ASSET_UPLOAD — set to 1 in CI to skip CDN uploads during build.

For docs / www:

  • .env.local.example files document the real variables.
  • Sentry DSNs come from app-specific Sentry config.

For self-host:

  • See docker/.env.example. Critical: JWT_SECRET, ANON_KEY, SERVICE_ROLE_KEY, POSTGRES_PASSWORD, DASHBOARD_USERNAME, DASHBOARD_PASSWORD.

ESLint / lint

  • Workspace-wide rules: packages/eslint-config-supabase.
  • Studio's custom rules: apps/studio/eslint-rules/.
  • Studio's ratchet config: apps/studio/scripts/ratchet-eslint-rules.ts.

TypeScript

  • Workspace base: packages/tsconfig/base.json.
  • App overrides: apps/<app>/tsconfig.json (extends one of packages/tsconfig/*).
  • Studio uses next typegen (pretypecheck) to materialize Next.js generated types.

Sentry

Each Next.js app has sentry.edge.config.ts, sentry.server.config.ts, and an instrumentation-client.ts. Production releases upload sourcemaps via the bundled @sentry/cli.

Stripe / payments

apps/studio integrates Stripe for billing surfaces. See data/stripe/ and data/billing/. Test mode is environment-driven.

Feature flags

  • ConfigCat — packages/common/configcat.ts.
  • Static enabled-features — packages/common/enabled-features/.
  • Browser exposure via useFlag(...) from packages/common/feature-flags.tsx.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Configuration – Supabase wiki | Factory