Day 36 / Daily GitHub Discovery / Cloud

SeaweedFS

Store files and objects across a distributed cluster with an S3-compatible gateway.

~22,000 stars · checked Sep 28, 2026
GogRPCS3 APIFUSERocksDBKubernetes
Visit GitHub (opens in a new tab)

What it does

SeaweedFS separates cluster coordination from volume storage and can expose HTTP, S3, and filesystem interfaces. It is designed for large numbers of files and distributed storage.

Why it’s interesting

Packing small files into volume data changes the metadata and disk-access tradeoffs compared with one-file-per-inode layouts.

Real-world use case

Provide an internal S3-compatible endpoint for application uploads and batch processing.

What I can learn

  • 01

    Needle and volume storage layout

    See how file data is appended as needles inside volume files and located through indexes rather than one filesystem inode per object.

  • 02

    Master, volume, and filer roles

    Understand how master, volume, and filer services divide cluster coordination, blob storage, and namespace metadata.

  • 03

    S3-to-object storage request mapping

    Trace how S3-compatible requests translate into SeaweedFS operations on buckets, objects, and stored file data.

One thing to explore

Needle storage and S3 gateway

Follow the weed/storage/needle implementation and connect it to the concepts above.

Explore the source (opens in a new tab)

10-Minute Challenge

Inspect an upload path

Before you start: A browser; a safe distributed-storage setup requires more than the short single-container command in the original note.

  1. Read the official quickstart and identify the master, volume, and filer services.
  2. Browse the S3 gateway request path in the source.
  3. Sketch how an upload key maps to a stored file identifier.

Keep exploring

All repositories →