SitePoint16 min readtutorialintermediate
Local S3 Storage Without MinIO: SeaweedFS and Garage in Docker Compose
Summary
The article shows how to run SeaweedFS and Garage together in a single Docker‑Compose file to provide low‑memory, S3‑compatible local storage, avoiding MinIO’s larger footprint and licensing concerns. It includes bucket‑seeding scripts and a Node.js test suite using AWS SDK v3.
- Docker‑Compose defines SeaweedFS (single‑process server) with an init sidecar that creates a test bucket via `weed shell`.
- Garage is configured via `garage.toml` (SQLite metadata, replication_factor=1) and an init script that assigns a layout, creates an API key, and provisions a bucket.
- Both services expose S3 endpoints (SeaweedFS on 8333, Garage on 3900) that the shared Node.js test script validates for PutObject, GetObject, multipart upload, and pre‑signed URLs.
- SeaweedFS uses ~60‑100 MiB idle RAM, Garage ~30‑60 MiB, compared to MinIO’s ~300‑400 MiB, making them suitable for CI runners and laptops.
Engineers building CI pipelines or developing locally who need S3‑compatible storage without MinIO’s resource or licensing overhead should consider this SeaweedFS‑and‑Garage combo.
6/10



