/hiro

Hiro is a very simple network-attached (distributed) file system. It's fast, configurable, and horizontally scalable.

Primary LanguageRustMIT LicenseMIT

Hiro

assembly_4-removebg-preview

A network attached distriburted file system that can run on a Raspberry PI (at home). It's a fast, horizontally-scalable, and fault-tolerant storage solution.

Getting started

Clone the repository using the follwoing command

git clone https://github.com/ritsource/hiro.git
cd hiro

Starting up the servers

To start all the servers and workers in local docker, run ..

docker-compose up --build

Or, we can also run the master and worker server using Cargo (Rust), with the following commands ..

cargo run -- --master --port 8080 --workers 127.0.0.1:5050,127.0.0.1:5051
cargo run -- --worker --port 5050 --master 127.0.0.1:8080
cargo run -- --worker --port 5051 --master 127.0.0.1:8080
cargo run -- --worker --port 5052 --master 127.0.0.1:8080

NOTE: worker needs a master address (127.0.0.1:8080), which you can pass using "--master" flag with address

Upload a file using the client-cli

cargo run -- --client ./data/demo.mp4 -m 127.0.0.1:8080