seaweedfs /seaweedfs

SeaweedFS is a distributed storage system for object storage (S3), file systems, Iceberg table buckets, and Lance vector buckets, designed to handle billions of files with O(1) disk access and effortless horizontal scaling.

★ 36,003⑂ 3,109👁 520⑃ 7,111● 4,406▤ 327◈ 875
GoApache-2.0Created 2014-07-14seaweedfs.com
36,003
stars
+31
3,109
forks
520
watchers
7,111
prs
4,406
issues
327
releases
875
discussions

README

SeaweedFS











!SeaweedFS Logo

SeaweedFS is a simple and highly scalable distributed file system. There are two objectives:

1. to store billions of files!
2. to serve the files fast!

One SeaweedFS cluster serves an S3 object store, a POSIX file system, a lakehouse with S3 Tables and a built-in Iceberg REST Catalog, and vector search with S3 Vector Buckets, all on shared storage. Each blob is one disk read away, capacity grows by starting another volume server, and cloud storage can be cached or tiered transparently. Blob reads and writes have O(1) complexity and can run at the full speed supported by the underlying hardware.

!SeaweedFS feature overview: S3 objects, POSIX files, table buckets with an Iceberg REST Catalog and Lance namespace, and S3 Vector Buckets share one cluster of masters, filers, and volume servers, with cloud caching, tiering, and cross-cluster replication.

- Download Binaries for different platforms
- Wiki Documentation
- HTTP REST API for the filer, master, and volume servers
- Community: Slack, Twitter, Telegram, Reddit, Mailing List
- SeaweedFS White Paper and introduction slides: 2025.5, 2021.5, 2019.3

Table of Contents
=================

 Quick Start
     One command
     Docker
     Docker Compose
     Kubernetes with Helm
     Build from source
     Scale out
 Why SeaweedFS
     Fast
     Scalable
     The most complete S3 API
     A data warehouse with S3 Tables
     Vector search with S3 Vector Buckets
     A fast cache for cloud storage
     Active-active replication and more
 Architecture
 Compared to Other Systems
     Compared to HDFS
     Compared to GlusterFS, Ceph
     Compared to MooseFS
     Compared to Ceph
     Compared to MinIO, RustFS
 Benchmark
 Enterprise
 License
 Sponsors

 Quick Start 

 One command 

Download the latest binary from the releases page and unzip the single weed (or weed.exe) file, or let the install script put it in /usr/local/bin:

bash
curl -fsSL https://raw.githubusercontent.com/seaweedfs/seaweedfs/master/install.sh | bash


Then start a ready-to-use S3 object store:

bash
AWS_ACCESS_KEY_ID=admin \
AWS_SECRET_ACCESS_KEY=secret \
S3_BUCKET=my-bucket \
./weed mini -dir=./data


That's it. The S3 endpoint is at http://localhost:8333, my-bucket exists, and admin/secret are valid credentials:

bash
AWS_ACCESS_KEY_ID=admin AWS_SECRET_ACCESS_KEY=secret \
  aws --endpoint-url http://localhost:8333 s3 cp README.md s3://my-bucket/


The same process also runs the master, a volume server, the filer, WebDAV, the Iceberg REST catalog, and the Admin UI. Add S3_TABLE_BUCKET=warehouse to also create an Iceberg table bucket, or warehouse:LANCE for a Lance one. Drop the AWS keys to run without authentication for development.

Without Admin authentication or mTLS, weed mini binds the Admin UI/API and its worker gRPC control plane to loopback rather than -ip.bind. Set WEED_ADMIN_PASSWORD or configure https.admin mTLS to keep the network bind. Remote workers must opt in with -admin.worker.

Top issues

Discussions

Latest release

4.53 4.53 2026-11-08
What's Changed
 fix(s3tables,s3vectors): bind DeleteNamespace and the vector bucket cleanup to the authorized records by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12331
 filer: allow renaming into a sibling that shares the name prefix by @fazpu in https://github.com/seaweedfs/seaweedfs/pull/12337
 compression: compress JSON uploads, and match file types by extension by @patwhite in https://github.com/seaweedfs/seaweedfs/pull/12339
 filer: reuse IsEqualOrUnder for the rename subdirectory check by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12338
 s3vectors: support

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON