Skip to content

s5-dev/S5

Repository files navigation

S5

Content-addressed storage, but fast.


Ethos

At its core, S5 is a content-addressed storage network similar to IPFS and also uses many of the formats and standards created in the IPFS project. It just builds upon them to be much more lightweight and scalable. Read the docs for more info on the nitty gritty.

Usage

docker run -it --rm -p 5050:5050 -v /local/path/to/config:/config --name s5-node ghcr.io/s5-dev/node:latest

A basic config file is generated for you, just make sure the path to the directory exists.

Or run it with docker compose

version: '3'
services:
  s5-node:
    image: ghcr.io/s5-dev/node:latest
    volumes:
      - /local/path/to/config:/config
    ports:
      - "5050:5050"
    restart: unless-stopped

To add file stores edit the config as described in the docs.

Supported Storage Backends

  • S3 (Any cloud provider supporting the S3 protocol, see https://s3.wiki)
  • Local filesystem (needs additional configuration to make a http port available on the internet)
  • Sia (experimental and cheap, https://sia.tech/)
  • Arweave (expensive, permanent storage)
  • Pixeldrain (affordable, https://pixeldrain.com/)
  • Estuary.tech (experimental)

Development

Dependencies

Build

  • git clone https://github.com/s5-dev/s5.git
  • cd s5/rust
  • cargo build --release
  • cp target/release/librust.so ..
  • cd ..
  • dart compile exe bin/s5_server.dart

Run the node with ./bin/s5_server.exe config.toml

License

This project is licensed under the MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)