Garage

API

S3-compatible object store for small self-hosted, geo-distributed clusters

Price
Free, open source
Access
S3 access key pair

About

Garage is an open-source object store that implements the Amazon S3 API and runs on ordinary servers spread across several locations. It keeps copies of each file in different zones, needs no external service, and has an admin REST API for nodes, buckets and access keys.

What you can do with it

  • Store user uploads in buckets through the S3 API on your own servers
  • Keep copies of files on servers in several locations or data centers
  • Create buckets and access keys through the admin API or the garage CLI

Get started

  1. Write garage.toml and start a node with Docker or the binary
  2. Create a bucket and an access key with the garage CLI
  3. Point an S3 SDK or the AWS CLI at port 3900 with region garage

Example

# garage.toml from the quick start; GARAGE_DEFAULT_* hold the key pair and bucket name
docker run -d -p 3900:3900 -p 3901:3901 \
  -v $(pwd)/garage.toml:/etc/garage.toml \
  -e GARAGE_DEFAULT_ACCESS_KEY -e GARAGE_DEFAULT_SECRET_KEY -e GARAGE_DEFAULT_BUCKET \
  dxflrs/garage:v2.4.1 /garage server --single-node --default-bucket

AWS_ENDPOINT_URL=http://localhost:3900 AWS_DEFAULT_REGION=garage \
AWS_ACCESS_KEY_ID=$GARAGE_DEFAULT_ACCESS_KEY AWS_SECRET_ACCESS_KEY=$GARAGE_DEFAULT_SECRET_KEY \
  aws s3 cp ./photo.jpg s3://$GARAGE_DEFAULT_BUCKET/photo.jpg

Details

Hosting
Self-hosted
Available in
Worldwide
MCP server
None
Works with
S3

Tasks

Alternatives

Other tools for the same tasks.

Last checked on .