Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

S3 compatible object storage service that stores metadata in Postgres

License

NotificationsYou must be signed in to change notification settings

supabase/storage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

844 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Coverage Status

A scalable, lightweight object storage service.

Readthis 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 dockernpm run infra:restart# Start the storage servernpm run dev

The server should now be running athttp://localhost:5000/

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

# insert a bucket named avatarscurl --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 bucketscurl --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

About

S3 compatible object storage service that stores metadata in Postgres

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors44

Languages


[8]ページ先頭

©2009-2026 Movatter.jp