This Python project enables you to use a normal Linux filesystem mount to store files tamperproof and versioned in immudb.
You can watch a short tutorial video here: https://asciinema.org/a/519412
To run the immufs project the first thing you need to start is an immudb instance. You can read more in the documentation page of immudb: docs.immudb.io
Make sure to install all the dependencies and the libfuse-dev OS packages.
git clone https://github.com/Razikus/immufs.git cd immufs pip3 install -r requirements.txt # Debian or Ubuntu apt install -y libfuse-dev
# lets run a local immudb docker container that listens on the immudb standard port 3322 docker run -p 3322:3322 -d codenotary/immudb:1.3.2
The default credentials are immudb:immudb, but you can change that using the immuadmin command. There is also a database initialized when starting immudb that is called defaultdb.
You can find a start.sh script in the repository but its simply a shortcut for the following command:
# when immudb is running on the same host python3 -m immufs.immufs /immufs -o serverurl=localhost:3322 -o login=immudb -o password=immudb -o database=defaultdb # when immudb is running on another system python3 -m immufs.immufs /immufs -o serverurl=<ip or dns name>:3322 -o login=immudb -o password=immudb -o database=defaultdb
Now you can work within the mountpoint /immufs and the backend is immudb.
As this is a proof of concept, don’t expect it to be production ready or without any limitations. You can look into the feature list that is updated on a regular basis: https://github.com/Razikus/immufs#features
Feel free to try immufs, share your use cases or issues with us