fs0x - pronounced "f-s-x" - is a simple filesystem built using the Aleph acting as the storage layer.
💡 This project is built in the context of the Hackathon PoC x Aleph 2024.
- Rust: The perfect program for programs that interact with both the Kernel and the Web.
- Docker: A container manager used to simplify the deployment of fs0x.
Run using Docker
You will need two terminals opened in the container to test the project:
- One for the fx0x daemon.
- One for a basic shell terminal
- Build the container
docker build -t fs0x .
- Start the container
Creates a container named fs0ox
that mounts your current directory into /app
and starts a shell in it.
docker run --name fs0x -it --privileged --rm -v $PWD:/app -w /app fs0x bash
⚠️ The container must be run using--privileged
to by pass eventual issues happening on MacOS.
- Open the client shell
In another terminal, start a shell in the same container
docker exec -it --privileged <fs0x_CONTAINER_ID> /bin/bash
# Create a temporary directory in your container
cd /tmp
mkdir test
- Start the daemon
In the first terminal, start the daemon by mounting the filesystem you want to synchronize.
cargo run -- /tmp/test --id <storage_id>
💡 The
--id
option is the identifier for your storage session, please use the same on the machine you want to synchronize with.
- Create a peer
You can repeat the same process in another terminal or machine to set up a peer that will synchronize the mounted filesystem.
This project is more than open for external contribution, feel free to open an issue for feature requests or bug reports.
If you want to directory contribute through a pull request, please read CONTRIBUTING.md.
Made with ❤️ by Quartz and @martin-olivier