Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Fluree ledger


Fluree ledger requires Java 11 or later.

Download the latest or stable release from and follow the instructions there.


A Docker image is available from the Docker Hub. It is named fluree/ledger.


Kubernetes support is in the k8s/ subdirectory of this project. You can deploy Fluree to a k8s cluster running Kubernetes 1.18+ with a default storage class configured by applying the YAML files in the k8s/ directory:

kubectl apply -f k8s


Fluree Ledger source code is licensed under AGPL. What if AGPL is a problem for your organization?

fluree/ledger runs as an independent service, so there really is no need to include or modify Fluree Ledger code, which is what would trigger AGPL restrictions. This differs from fluree/db which is designed to be included with your code as a library - and for that reason is licensed under EPL.

If you want to run fluree/ledger under a different license, that is easy to solve by using a precompiled version of the code (AGPL only covers the source code distribution). Easiest way to do that is download it here, and it will be covered by our standard customer license agreement terms.

Does your organization not allow free software at all? Contact us for a commercial license.



All contributors must complete a Contributor License Agreement.


  1. Install clojure tools-deps (version or later).
    1. macOS: brew install clojure/tools/clojure
    2. Arch Linux: pacman -S clojure
  2. Install NodeJS & npm
    1. macOS: brew install node

Using local adminUI

If you're hacking on the adminUI, open package.json and change the version that @fluree/admin-ui is pointed at to file:../admin-ui (or wherever your local copy of fluree-admin-ui is cloned).

Then do make clean followed by make run.

While actively hacking on the adminUI, it probably makes more sense to run it separately with its change-watcher turned on. Then you can run the above once you're ready to test integration of the production build.


You can run the entire test suite like this:

make test

Or you can select which tests you'd like to run by invoking the test runner like this:

clojure -X:test

...followed by any of the filters / selectors described here.

For example, to run only the tests in the namespace, you can do this:

clojure -X:test :nses '[]


  1. Set the version you want in deps.edn (in the :mvn/version alias)
  2. Run make

This will generate build/fluree-$(VERSION).zip.

Its contents will also be left in the build/ directory for manual testing (e.g. cd build && ./

System-wide installation

make install will install fluree to /usr/local (by default) and you can then run fluree to start it up. Config files and fluree-logback.xml will be copied to /usr/local/etc if they don't already exist. You can modify them to your needs.

If you want to install somewhere other than /usr/local you can set the DESTDIR variable like this: make install DESTDIR=/other/path. Fluree will then be installed to /other/path/bin, /other/path/etc, & /other/path/share/java.