S5
S5 copied to clipboard
Decentralized content-addressed storage network
trafficstars
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
- Dart (https://dart.dev/get-dart)
- Rust (https://www.rust-lang.org/tools/install)
- Build dependencies (Debian/Ubuntu:
sudo apt install build-essential pkg-config libssl-dev libclang-dev)
Build
git clone https://github.com/s5-dev/s5.gitcd s5/rustcargo build --releasecp 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)