Favicon of SeaweedFS

SeaweedFS

Store and access billions of files instantly using a distributed storage system featuring O(1) disk read times, seamless cloud tiering, and S3 API support.

This highly scalable distributed file system is engineered to store and serve billions of files with exceptional speed. By functioning as an efficient blob store, it spreads file metadata across volume servers, ensuring O(1) disk read operations for rapid data access. With minimal disk storage overhead per file, it maximizes hardware efficiency while maintaining high performance.

The platform seamlessly integrates with cloud environments, allowing you to keep hot data locally and offload warm data to the cloud. This hybrid approach delivers fast local access and elastic storage capacity while minimizing API costs.

Key features include:

  • Flexible Capacity Expansion: Add storage space easily without triggering automatic data re-balancing.
  • Comprehensive Integration: Supports POSIX FUSE mount, S3 API, Hadoop, WebDAV, and Kubernetes.
  • Advanced Data Protection: Includes customizable erasure coding, encryption, and automatic failover.
  • Customizable Metadata Stores: Works with popular databases like MySQL, Redis, and Cassandra.

Directory Structure

seaweedfs
data
.env
docker-compose.yml

docker-compose.yml

services:
  master:
    image: chrislusf/seaweedfs # use a remote image
    ports:
      - 9333:9333
      - 19333:19333
      - 9324:9324
    command: 'master -ip=master -ip.bind=0.0.0.0 -metricsPort=9324'
  volume:
    image: chrislusf/seaweedfs # use a remote image
    ports:
      - 8080:8080
      - 18080:18080
      - 9325:9325
    command: 'volume -ip=volume -master="master:9333" -ip.bind=0.0.0.0 -port=8080 -metricsPort=9325'
    depends_on:
      - master
  filer:
    image: chrislusf/seaweedfs # use a remote image
    ports:
      - 8888:8888
      - 18888:18888
      - 9326:9326
    command: 'filer -ip=filer -master="master:9333" -ip.bind=0.0.0.0 -metricsPort=9326'
    tty: true
    stdin_open: true
    depends_on:
      - master
      - volume
  s3:
    image: chrislusf/seaweedfs # use a remote image
    ports:
      - 8333:8333
      - 9327:9327
    command: 's3 -filer="filer:8888" -ip.bind=0.0.0.0 -metricsPort=9327'
    depends_on:
      - master
      - volume
      - filer
  webdav:
    image: chrislusf/seaweedfs # use a remote image
    ports:
      - 7333:7333
    command: 'webdav -filer="filer:8888"'
    depends_on:
      - master
      - volume
      - filer
  prometheus:
    image: prom/prometheus:v2.21.0
    ports:
      - 9000:9090
    volumes:
      - ./prometheus:/etc/prometheus
    command: '--web.enable-lifecycle --config.file=/etc/prometheus/prometheus.yml'
    depends_on:
      - s3

Share:

Ad
Favicon

 

  
 

Similar to SeaweedFS

Favicon

 

  
  
Favicon

 

  
  
Favicon