OpenLogs

All tools

SeaweedFS

Distributed file store with S3, WebDAV and filer interfaces.

Replaces

Paid object storage services, such as Amazon S3.

All open-source alternatives to Amazon S3

Difficulty

Difficulty: Medium

6 services, 1 volume mount, no env values to set, no elevated host access. Heuristic score 3 of 11: medium.

Stack

Go (language)

Deployment

docker_compose

Requirements

Not stated.

License

Apache-2.0 (OSI-approved open source)

Read from github.com/seaweedfs/seaweedfs/blob/82f0a82/LICENSE

Business model

Unknown

The README at the pinned commit does not state a business model, so it stays unknown.

Source: github.com/seaweedfs/seaweedfs/blob/82f0a82/README.md, read on .

Repository

seaweedfs/seaweedfs

GitHub stats

Stars
35,668
Forks
3,085
Open issues and pull requests
729
Last push
2026-10-22
Latest release
4.48
Released
2026-09-28

From the GitHub API on . These numbers are a snapshot, not live. GitHub detected the license as Apache-2.0.

Compose file

Config check passed docker compose config exited 0 on this exact file on 2026-10-22.
seaweedfs-compose.yml Version 1
version: '3.9'

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

From the app's own repository: github.com/seaweedfs/seaweedfs/blob/82f0a82/docker/seaweedfs-compose.yml.

Compose file from the app repository.

Install

  1. Docker with the Compose plugin (github.com/seaweedfs/seaweedfs/blob/82f0a82/docker/seaweedfs-compose.yml)

    A host with Docker and the Docker Compose plugin. This entry runs from a compose file.

  2. Save the compose file as compose.yaml (github.com/seaweedfs/seaweedfs/blob/82f0a82/docker/seaweedfs-compose.yml)

    Use the compose file shown above.

  3. Start it (github.com/seaweedfs/seaweedfs/blob/82f0a82/docker/seaweedfs-compose.yml)
    docker compose up -d
  4. Open the app (github.com/seaweedfs/seaweedfs/blob/82f0a82/docker/seaweedfs-compose.yml)

    Open http://localhost:8888. The compose file publishes host port 8888 for the filer service.

Compose file check: config_ok on 2026-10-22.

Gotchas and maintenance

Gotchas

Signals

  • Open issues and pull requests: 729
  • Last push: 2026-10-22 (0 days before this page was built)
  • Latest release: 4.48 on 2026-09-28 (23 days before this page was built)