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.
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.
- 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)
- 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
)
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
This project is licensed under the MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)