Retour au classement

supabase/storage

TypeScriptsupabase.com/docs/guides/storage

S3 compatible object storage service that stores metadata in Postgres

postgress3gotrueobject-storageicebergtusvector
Croissance des étoiles
Étoiles
1.3k
Forks
300
Croissance hebdomadaire
Issues
21
5001k
mars 2021déc. 2022oct. 2024juil. 2026
Artefactsnpmnpm install storage
README

Supabase Storage Engine Coverage Status Ask DeepWiki

A scalable, lightweight object storage service.

Read this post on why we decided to build a new object storage service.

  • Multi-protocol support (HTTP, TUS, S3, Iceberg)
  • Uses Postgres as its datastore for storing metadata
  • Authorization rules are written as Postgres Row Level Security policies
  • Integrates with S3 Compatible Storages
  • Extremely lightweight and performant

Supported Protocols

  • HTTP/REST
  • TUS Resumable Upload
  • S3 Compatible API
  • Iceberg REST Catalog

Architecture

Documentation

Development

  • Copy .env.sample to .env file.
  • Copy .env.test.sample to .env.test.
cp .env.sample .env && cp .env.test.sample .env.test

Your root directory should now have both .env and .env.test files.

  • Then run the following:
# this sets up a postgres database and postgrest locally via docker
npm run infra:restart
# Start the storage server
npm run dev

The server should now be running at http://localhost:5000/

The following request should insert and return the list of buckets.

# insert a bucket named avatars
curl --location --request POST 'http://localhost:5000/bucket' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoic2VydmljZV9yb2xlIiwiaWF0IjoxNjEzNTMxOTg1LCJleHAiOjE5MjkxMDc5ODV9.th84OKK0Iz8QchDyXZRrojmKSEZ-OuitQm_5DvLiSIc' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "avatars"
}'

# get buckets
curl --location --request GET 'http://localhost:5000/bucket' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoic2VydmljZV9yb2xlIiwiaWF0IjoxNjEzNTMxOTg1LCJleHAiOjE5MjkxMDc5ODV9.th84OKK0Iz8QchDyXZRrojmKSEZ-OuitQm_5DvLiSIc'

Testing

To perform your tests you can run the following command: npm test

Code Quality

  • Check: npm run lint
  • Automatic fix if possible: npm run lint:fix
Dépôts similaires
supabase/supabase

The Postgres development platform. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications.

TypeScriptnpmApache License 2.0firebasesupabase
supabase.com
106.8k13.2k
grafana/grafana

The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.

TypeScriptnpmGNU Affero General Public License v3.0grafanamonitoring
grafana.com
75.7k14.3k
coollabsio/coolify

An open-source, self-hostable PaaS alternative to Vercel, Heroku & Netlify that lets you easily deploy static sites, databases, full-stack applications and 280+ one-click services on your own servers.

PHPPackagistApache License 2.0nodejsmysql
coolify.io
59.2k5.1k
metabase/metabase

The easy-to-use open source Business Intelligence and Embedded Analytics tool that lets everyone work with data :bar_chart:

ClojureOtheranalyticsbusinessintelligence
metabase.com
48.3k6.7k
prisma/prisma

Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB

TypeScriptnpmApache License 2.0prismaorm
prisma.io
47.4k2.4k
payloadcms/payload

Payload is the open-source, fullstack Next.js framework, giving you instant backend superpowers. Get a full TypeScript backend and admin panel instantly. Use Payload as a headless CMS or for building powerful applications.

TypeScriptnpmMIT Licenseheadless-cmscms
payloadcms.com
43.7k4k
drizzle-team/drizzle-orm

ORM

TypeScriptnpmApache License 2.0typescriptorm
orm.drizzle.team
35.2k1.5k
hasura/graphql-engine

Blazing fast, instant realtime GraphQL APIs on all your data with fine grained access control, also trigger webhooks on database events.

TypeScriptnpmApache License 2.0graphqlgraphql-server
hasura.io
32k2.9k
supermemoryai/supermemory

Memory and context engine + app that is extremely fast, scalable, and can be run fully locally. The Memory API for the AI era.

TypeScriptnpmMIT Licensecloudflare-pagescloudflare-workers
supermemory.ai/docs
28.5k2.5k
Infisical/infisical

Infisical is the open-source platform for secrets, certificates, and privileged access management.

TypeScriptnpmOtherclienvironment-variables
infisical.com
28.3k2.1k
PostgREST/postgrest

REST API for any Postgres database

HaskellMIT Licensehaskelldatabase
postgrest.org
27.5k1.2k
pubkey/rxdb

The local-first database that runs on every JS runtime and replicates with your existing backend - no vendor, no lock-in - https://rxdb.info/

TypeScriptnpmApache License 2.0databasenosql
rxdb.info
23.3k1.2k