Why Garage
Garage is a lightweight, S3-compatible object store designed to run on ordinary servers spread across sites. ElastiCluster runs it unmodified as a container and adds the management around it. It is the default object storage engine; SeaweedFS is a candidate for later, for teams that need versioning and Object Lock.
Copies, zones and quorum
- Replicated (default): three copies on three or more nodes, with reads and writes needing two of the three. Losing one node or one zone keeps everything available.
- Two copies: cheaper, but while one node is down, reads continue and writes stop.
- Single: one node for development and tests.
Zones come from labels you put on servers, so copies land in different racks or sites. Disk syncing stays on unless the members span at least three zones.
Endpoint
HAProxy on each node terminates TLS for the S3 API on port 9000, with an optional virtual IP, and forwards only to
Garage on the same node. Static website hosting can be served on port 9001. The region is garage and
addressing is path-style.
Buckets, keys and the object browser
- Create buckets with aliases, quotas, website hosting and CORS rules.
- Create access keys with per-bucket permissions; revealing a secret needs sudo and is audited.
- Browse, upload and download objects with presigned links that expire within an hour.
- Use the cluster as a backup repository for your databases with one action.