DozerDB enhances Neo4j Community edition production deployments with enterprise features and security.


April 4th, 2024: The DozerDB for Neo4j 5.18.1 has been released!

What is DozerDB

DozerDB enhances your Neo4j Community Edition with enterprise features, all 100% free and open source under the GPL license. You have several ways to use it and more to come. Our goal is to provide enterprise features that are missing in the community edition, and to make them available to everyone for free.

DozerDB has no affiliation with either Neo4j USA or Neo4j Sweden.

Getting Started

DozerDb Plugin

Simply drop the plugin jar into your Neo4j community installation, set an environment variable and you are off and running.

Pre-configured Distribution

Alternatively you can download the already configured distribution and start using it. This may be a good fit if your organization requires a whitelist for specific software.

Docker

Spin up your DozerDb enhanced graph in a matter of seconds. As one of DozerDb's focuses is Security, our DozerDB containers leverage the Department of Defense's Hardened Configurations

You know the plugin is working when you see the following in your output log. Your browser will also indicate that DozerDb is enabled.


*****************************************************************************
************************ Enhanced By DozerDB Plugin *************************
*****************************************************************************

Alternatively, you can verify the DozerDB plugin is activated in your gdb browser. You will see "Enhanced by DozerDB" after you login.



Give it a try:

Add and Use a Database

CREATE DATABASE test1;
:use test1

Create some constraints

CREATE CONSTRAINT FOR (n:NodeX) REQUIRE p.email IS NOT NULL;

Or load the movie dataset and add a constraint:

CREATE CONSTRAINT unique_movie_title IF NOT EXISTS FOR (movie:Movie) REQUIRE movie.title IS UNIQUE;

Downloads

Below is a table of the current downloads. We provide a version for the Neo4j 4.4 version, and the newest 5.x version.

DozerDB Plugin (Alpha Release 1)
Remember that the plugin is designed to work with the Neo4j version that matches the first 3 digits of the plugin version.

Examples:

dozerdb-plugin-5.18.1.0-alpha.1.jar -> Neo4j Community Edition version 5.18.1
dozerdb-plugin-4.4.26.0-alpha.1.jar -> Neo4j Community Edition version 4.4.26


We started the plugin with the newest Neo4j Community versions 5.12.x and 4.4.x. If you would like an older version of the plugin for Neo4j Community 5.x - please create a ticket on our GitHub repo under the dozerdb-plugin project.
Download the plugin to your $NEO4J_HOME/lib folder , not the $NEO4J_HOME/plugins folder ,
and set the CLASSPATH_PREFIX environment variable to the absolute path of the plugin:
Linux / Mac:
export CLASSPATH_PREFIX=$NEO4J_HOME/lib/dozerdb-plugin-x.x.x.x.jar

Windows:
set CLASSPATH_PREFIX=%NEO4J_HOME%\lib\dozerdb-plugin-x.x.x.x.jar
5.x 4.4.x LTS
dozerdb-plugin-5.18.1.0-alpha.1.jar (For Neo4j 5.18.1)

dozerdb-plugin-5.17.0.0-alpha.1.jar (For Neo4j 5.17.0)

dozerdb-plugin-5.16.0.0-alpha.1.jar (For Neo4j 5.16.0)

dozerdb-plugin-5.15.0.0-alpha.1.jar (For Neo4j 5.15.0)

dozerdb-plugin-5.14.0.0-alpha.1.jar (For Neo4j 5.14.0)

dozerdb-plugin-5.13.0.0-alpha.1.jar (For Neo4j 5.13.0)

dozerdb-plugin-5.12.0.0-alpha.1.jar (For Neo4j 5.12.0)
dozerdb-plugin-4.4.26.0-alpha.1.jar (For Neo4j 4.4.26)

dozerdb-plugin-4.4.25.0-alpha.1.jar (For Neo4j 4.4.25)
DozerDB Pre-packaged distribution (Alpha Release 1)
5.x 4.4.x LTS
Mac / Linux : dozerdb-5.18.1.0-alpha.1-unix.tar.gz

Windows 32 & 64 bit: dozerdb-5.18.1.0-alpha.1-windows.zip


Mac / Linux : dozerdb-5.17.0.0-alpha.1-unix.tar.gz

Windows 32 & 64 bit: dozerdb-5.17.0.0-alpha.1-windows.zip


Mac / Linux : dozerdb-5.16.0.0-alpha.1-unix.tar.gz

Windows 32 & 64 bit: dozerdb-5.16.0.0-alpha.1-windows.zip


Mac / Linux : dozerdb-5.15.0.0-alpha.1-unix.tar.gz

Windows 32 & 64 bit: dozerdb-5.15.0.0-alpha.1-windows.zip


Mac / Linux : dozerdb-5.14.0.0-alpha.1-unix.tar.gz

Windows 32 & 64 bit: dozerdb-5.14.0.0-alpha.1-windows.zip


Mac / Linux : dozerdb-5.13.0.0-alpha.1-unix.tar.gz

Windows 32 & 64 bit: dozerdb-5.13.0.0-alpha.1-windows.zip


Mac / Linux : dozerdb-5.12.0.0-alpha.1-unix.tar.gz

Windows 32 & 64 bit: dozerdb-5.12.0.0-alpha.1-windows.zip

Mac / Linux : dozerdb-4.4.26.0-alpha.1-unix.tar.gz

Windows 32 & 64 bit: dozerdb-4.4.26.0-alpha.1-windows.zip

DozerDB Docker Image (Alpha Release 1)

Release images will be hardened to DOD specifications, in fact we use the DOD Iron Bank hardened base images as well.

Simply run the command below to get started.

Remember to change your password. The default password is "password" - just to make testing easier.

If you run into any issues because you have run older versions of Neo4j with docker, please backup and remove the generated $YOUR-USER-HOME-DIR/neo4j (or .neo4j for older versions) folder and try again.

        # Change the password to something secure if you are not testing.
        # The following command below also enables the apoc plugin. 

        # We made all procedures unrestricted by default to make it easier to get started.

        # If you are in a production environment, you may want to limit the procedures to only those you want to allow.
        # If you want to only allow certain procedures, you can change the environment variable to only allow those procedures.
        # See:  https://neo4j.com/docs/operations-manual/current/security/securing-extensions/
        # You can add the graph data science plugin as well by adding it to the NEO4JLABS_PLUGINS environment variable.
        #  --env NEO4JLABS_PLUGINS='["apoc","graph-data-science"]' 

        docker run \
            -p7474:7474 -p7687:7687 \
            -v $HOME/neo4j/data:/data \
            -v $HOME/neo4j/logs:/logs \
            -v $HOME/neo4j/import:/var/lib/neo4j/import \
            -v $HOME/neo4j/plugins:/plugins \
            --env NEO4J_AUTH=neo4j/password \
            --env NEO4J_PLUGINS='["apoc"]' \
            --env NEO4J_apoc_export_file_enabled=true \
            --env NEO4J_apoc_import_file_enabled=true \
            --env NEO4J_dbms_security_procedures_unrestricted=* \
            graphstack/dozerdb:5.18.1.0-alpha.1

    

Contributing

If you would like to help contribute to DozerDb you can start at our official GitHub page

Roadmap

We are asking the community to help decide what should be on the roadmap starting with the next release version.



  • Version 1.0
  • (Multi-Database) CREATE and :use new database.
  • (Multi-Database) Auto-start all databases on startup.
  • (Multi-Database) DROP database.
  • (Constraints) CREATE Node and Relationship Constraints.
  • (Constraints) Fail constraint addition if existing data and any data violates constraint.
  • (Security) Disable outgoing metrics.
  • (Security) Hardened Docker Image using DOD Iron Bank template.
  • Version 2.0 and on..
  • Fabric: Ability to leverage Neo4j's fabric infrastructure to query across multiple remote and local graphs.
  • Advanced Metrics
  • Advanced Query Log Reporting
  • Enterprise Authentication & Authorization (Using Open Policy Agent, and more).
  • Community Driven Features to be added...