- Get the code, build the container (~5 minutes)
git clone https://github.com/sidsabh/MirageRaft.git && cd MirageRaft
sudo docker build -t mirage-raft .
OR
- Pull the Docker image
docker pull sidsabh/mirage-raft:mirage-raft
- Launch the frontend on the host network (blocking ports, spawning Raft Servers will all work per usual on localhost)
sudo docker run -it --network=host mirage-raft # sidsabh/mirage-raft:mirage-raft if you pulled from Docker Hub
- Cleanup if a run is still holding a port
sudo docker rm -f $(sudo docker ps -aq)
- Install opam (includes OCaml compiler) via guide. Make sure ocamlc version >=4.14 (e.g., opam switch create 4.14.0 --yes)
- Install stuff from apt and opam:
sudo apt-get update && sudo apt-get install -y \
curl \
protobuf-compiler \
pkg-config
opam install dune
opam install . --deps-only
opam install fmt --yes
- Launch via
make up
- run tests (demo here)