Scale your storage needs with a simple, self-hosted S3 alternative
S

Scale your storage needs with a simple, self-hosted S3 alternative

Scale your storage needs with a simple, self-hosted S3 alternative

4,049 stars
N/A forks
N/A contributors

README

Project documentation from GitHub

Garage: The Self-Hosted S3 Alternative That Scales with You

Ever found yourself needing S3-compatible object storage but not wanting to lock into a cloud provider's pricing or complexity? Or maybe you're building a distributed application and need storage that can grow across multiple small machines, not just one big server. That's where Garage steps in.

Built by the folks at Deuxfleurs, Garage is an open-source, self-hosted object storage solution that speaks the S3 API. It's designed from the ground up for geo-distribution and resilience on commodity hardware. Think of it as a pragmatic tool for when you need control, want to avoid vendor lock-in, or are operating in resource-constrained or multi-location environments.

What It Does

Garage provides an S3-compatible endpoint for your applications to store and retrieve objects (files, images, backups, you name it). The key difference from a simple single-server solution is its distributed nature. It automatically shards and replicates your data across a cluster of nodes, which can be spread across different physical locations. This means you get durability and availability without needing expensive, high-end servers.

Why It's Cool

The clever part is Garage's design philosophy: simplicity and minimalism. It's written in Rust for performance and safety, and it uses a consensus algorithm that's less resource-intensive than some alternatives, making it feasible to run on a Raspberry Pi or a small VPS. It doesn't try to be a filesystem or a block storage device; it sticks to the object storage model and does it well.

A standout feature is its focus on geo-distribution. You can easily have nodes in different data centers (or even different countries) and Garage will handle the replication logic, which is a game-changer for latency reduction and disaster recovery on a budget. It also includes built-in bucket website hosting and supports bucket replication.

It's perfect for use cases like:

  • Hosting static assets for a web application across multiple regions.
  • Storing backups from multiple sites.
  • Providing storage for a distributed application or homelab.
  • As the storage layer for a self-hosted photo backup or document sync solution.

How to Try It

The quickest way to get a feel for Garage is to check out the official documentation. It's thorough and includes several guides.

For a hands-on test, the easiest path is to use the Docker image. You can start a small test cluster locally with docker-compose to see how it operates. The repo provides clear examples. If you're ready to deploy, Garage can be installed from source, via a Docker container, or with pre-built binaries for Linux.

# Example of fetching the Docker image
docker pull dxf

Did you like this issue?

Join our weekly newsletter

Love discovering amazing projects?

Help us continue bringing you the best open-source discoveries every week.

Back to Projects
Last updated: Dec 20, 2025