Thanks to visit codestin.com
Credit goes to github.com

Skip to content

A S3 compatible object storage service that integrates with Postgres and Gotrue

License

Notifications You must be signed in to change notification settings

neurono-ml/storage-api

 
 

Repository files navigation

Supabase Storage Middleware

A scalable, light-weight object storage service. Read this post on why we decided to build a new object storage service.

  • Uses Postgres as it's datastore for storing metadata
  • Authorization rules are written as Postgres Row Level Security policies
  • Integrates with S3 as the storage backend (with more in the pipeline!)
  • Extremely lightweight and performant

Architecture

Documentation

Development

  • Copy .env.sample to .env file.
  • Change GLOBAL_S3_BUCKET and REGION to the name and region of a S3 bucket. If you just want to run the tests and not develop locally, you can skip this step because S3 calls are mocked in our tests.
  • Copy .env.test.sample to .env.test. Your root directory should now have both .env and .env.test files.
  • Set up your AWS credentials. Your user must have permissions to s3:PutObject , s3:GetObject, s3:DeleteObject in the bucket you have chosen.
  • Then run the following
# this sets up a postgres database and postgrest locally via docker
npm run restart:db
# Start the storage server
npm run dev

Testing

Run npm test

About

A S3 compatible object storage service that integrates with Postgres and Gotrue

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 91.9%
  • PLpgSQL 7.6%
  • Other 0.5%