mrkeyoor.com_
Wed 16 Sept 12:48 UTC
Dataevaluationupdated 27 Aug 2026

supabase review

Supabase is a Postgres-based backend platform that bundles a database, authentication, generated APIs, file storage, realtime updates, functions, and a management dashboard. It lets application teams start with managed infrastructure or run the same broad stack themselves instead of assembling every backend service separately.

+357stars / 7d
Verdict

Our Supabase install pulled 3,094 packages and used 2,934 MB, then the build failed at the federated-content task after 36 seconds. The managed service remains a strong choice for teams that want Postgres plus application services, because they do not have to build this monorepo to use it. Self-host only when owning a multi-service data platform is an explicit infrastructure decision.

We ran it

Lab card: what happened when we ran supabaseScreenshot of supabase (supabase.com)
Install✓ · 88s3094 packages · 2934 MB
Build✗ · 36s
Testsn/ano test script
Repo16962 files~999,060 lines of source · 761.8 MB · 48 CI workflows

Answers from our run

Does supabase build from source?

Dependencies installed in 88 seconds (3094 packages), and the build failed. We cloned commit 310b29c into a clean Debian container with 3 CPUs and no project-specific setup.

Does supabase have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Who should not use supabase?

Teams seeking a small self-hosted database appliance: the official Compose stack includes Postgres, Auth, Realtime, Storage, Studio, Envoy, an edge runtime, logging, a pooler, and more.

What are the alternatives to supabase?

Appwrite, PocketBase, Nhost. Our Supabase install pulled 3,094 packages and used 2,934 MB, then the build failed at the federated-content task after 36 seconds.

Setup2/52,934 MB installed; our federated-docs build failed
Docs4/5Wide product and self-hosting guidance, with clear warnings
Community5/5108,443 stars and a push on 2026-08-27
Maturity4/5Established platform; full source build did not pass our run

Discussed on

  1. hnPostgres Language Server963 points
  2. hnShow HN: PostgreSQL index advisor417 points
  3. hnPostgres.new: In-browser Postgres with an AI interface366 points
  4. hnPostgres Language Server: Initial Release362 points
  5. hnSupabase – Realtime: Multiplayer Edition356 points

Who it’s for

Web and mobile teams that want Postgres with authentication, storage, realtime data, and generated APIs.
Developers who prefer SQL and row-level security over a document-only backend.
Startups that want a managed service now while retaining a documented self-hosting route.
Platform teams capable of owning backups, secrets, networking, upgrades, and several cooperating services.

Who it’s NOT for

Teams seeking a small self-hosted database appliance: the official Compose stack includes Postgres, Auth, Realtime, Storage, Studio, Envoy, an edge runtime, logging, a pooler, and more.
Operators who expect the example configuration to be production-safe: Supabase's Docker README explicitly says the defaults are insecure for production.
Contributors who need an offline top-level build: our build stopped at docs#build:federated-content, and the developer guide says federated docs fetch content from external repositories at build time.
Projects that do not want authorization policy in the database: Supabase's API model depends heavily on Postgres roles and row-level security.
Buyers who assume hosted and self-hosted support are equivalent: the self-hosting README describes community support, while email support is directed at database or infrastructure problems on the service.

Setup reality

Our sandbox installed 3,094 pnpm packages in 88 seconds and used 2,934 MB. The build failed after 36 seconds: only 1 of 9 tasks succeeded, and Turbo reported docs#build:federated-content as the failed command. No tests script or target was available, so tests were skipped.

Contributing to the monorepo needs Node.js, pnpm, make, environment files, and Docker for Studio. A useful hosted project avoids that source build. Self-hosting needs a populated .env, changed default secrets, CORS and network rules, a proxy, backups, and the resources for the multi-service Compose stack.

The repo is a 761.8 MB monorepo with 16,962 files and about 999,060 lines of source. Local product development, building the documentation site, and operating Supabase are different jobs. The README's hosted signup is much easier than reproducing the platform yourself.

Postgres is the center of a much larger backend

Supabase starts with a dedicated Postgres database and layers common application services around it. PostgREST produces a REST API, pg_graphql adds GraphQL, Auth handles identities and sessions, Realtime broadcasts database changes, Storage manages files, and Edge Functions run server-side code. Studio gives developers a dashboard over those parts. The combination can replace weeks of initial backend assembly for a web or mobile product that already fits SQL.

The source repository shows how broad that promise is. Our commit 310b29c checkout contained 16,962 files, roughly 999,060 lines of source, and occupied 761.8 MB before dependencies. It is a Turborepo containing websites, documentation, Studio, design systems, shared packages, and deployment assets. The individual infrastructure services often live in their own repositories, so this monorepo is both product surface and integration point rather than the complete implementation of every running component.

Hosted Supabase avoids the 2,934 MB contributor setup

A hosted project can be created without installing this repository. That is the product's easiest and most convincing route: Supabase operates the database and surrounding services, while an application uses a client library or generated API. The open-source checkout matters for transparency, contribution, local development, and self-hosting, but it should not be confused with the normal first step for a managed customer.

Our source install added 3,094 pnpm packages in 88 seconds and consumed 2,934 MB. Contributors also need the Node.js and pnpm versions pinned by the repository, make, local environment files, and Docker for Studio. The developer guide exposes separate commands for the marketing site, docs, and dashboard. A person fixing one interface should scope the workspace instead of treating the root command as a small application build.

What happened when we ran it

Our sandbox installed Supabase successfully in 88 seconds on 3 CPUs with 8 GB of RAM. The environment was a fresh unprivileged Debian container based on Node 22, with no secrets. Installation completed, but the root build exited with code 1 after 36 seconds. Turbo recorded 1 successful task out of 9 and named docs#build:federated-content as the failed command.

The log tail also listed lifecycle failures for library, learn, design-system, and studio builds after the federated-content failure. It does not show the underlying error that caused that task to exit, so assigning a network, credential, or code cause would be guesswork. The developer guide says federated documentation can fetch markdown from external repositories at build time, which explains what the task does, not why our particular run failed.

No tests script or target was available, so our harness skipped tests. The root had 48 CI workflow files but no tests directory. Those repository signals show extensive automation, yet they do not supply a passing test result for commit 310b29c in our environment. The honest outcome is mixed: dependency installation worked, the full build did not, and there was no root test command for us to report.

Self-hosting means operating more than Postgres

The official Docker Compose setup includes Studio, Envoy, Auth, PostgREST, Realtime, Storage, imgproxy, postgres-meta, PostgreSQL, Edge Runtime, Logflare, Vector, and Supavisor. That list is the clearest reason to reject casual self-hosting. You gain control over data and deployment, but you also inherit service health, image versions, logs, network policy, database maintenance, and compatibility across moving parts.

Supabase labels the default self-hosted configuration insecure for production. Operators must replace default passwords and secrets, review CORS, restrict the network, place a secure proxy where appropriate, and establish backups. Updates begin with a database backup and include dry-run, pull, recreate, conflict, and rollback guidance. Community support covers self-hosted installations. A team that needs guaranteed operational help should compare that boundary with the managed service before committing.

Row-level security is part of application correctness

Generated browser-facing APIs make database authorization unusually important. Supabase relies on Postgres roles, JWT claims, and row-level security policies to decide which rows a caller may read or change. That can keep policy close to the data and work across REST, GraphQL, and realtime paths. It can also expose data if a team creates tables and postpones policy design until after the client application is working.

A serious evaluation should model at least 2 roles and test each policy with real queries, storage objects, and realtime subscriptions. Service-role credentials need a separate server-side boundary because they can bypass ordinary client restrictions. Supabase does not remove backend security work; it relocates a meaningful share into SQL and database configuration. Teams comfortable reviewing migrations and query plans will have a better experience than teams treating the dashboard as a no-code permission system.

Current activity supports the platform, not every deployment choice

GitHub showed 108,443 stars, 1,037 open issues and pull requests, and a last push on 2026-08-27. The combined open count should not be read as 1,037 bugs. Developer Update v1.26.08 was published on 2026-08-07 and covered managed features, betas, an alpha data pipeline, observability, encryption integration, and API changes. That pace indicates active product work and creates a reason to read changelogs before upgrading.

Supabase is easiest to recommend as a managed Postgres platform with useful services attached. The database remains accessible through standard SQL, and the application features save real assembly work. Our failed 36-second build and 2,934 MB dependency tree make the source contribution path look heavier than the hosted onboarding. For self-hosting, compare the operational list against a plain Postgres service. If you do not need Auth, Realtime, Storage, Studio, and functions together, the smaller system is easier to own.

Alternatives

ProjectWhat it isPick it when
Appwrite gh↗A self-hostable backend platform with databases, auth, storage, functions, and messaging.pick this instead when API-first application services matter more than direct Postgres ownership.
PocketBase gh↗A compact backend in one executable with SQLite, auth, files, and realtime records.pick this instead when one small deployment matters more than Postgres scale and service breadth.
NhostA Postgres and GraphQL backend platform with auth, storage, and functions.pick this instead when a GraphQL-first backend is the main requirement.

What people are saying

  1. [github-trending] supabase/supabase

Sources

  1. Supabase README
  2. Supabase repository
  3. Self-hosted Supabase with Docker
  4. Developing Supabase
  5. Developer Update August 2026

More data reviews

GeoLibre · TradingView-API · os-taxonomy · Lean · bokeh · orm · the whole board →