Default file locations
Neo4j directories
The page describes the Neo4j directories, specifying their default locations per distribution and minimal file permissions.
If Neo4j was installed using a tar.gz
or zip
archive, <NEO4J_HOME> refers to the location the archive was extracted to.
Instructions provided for Neo4j Desktop are applicable across all operating systems where Neo4j Desktop is supported.
If tmp is set to For /bin/cypher-shell, set this via an environment variable: For the Neo4j’s uses of the Java Native Access (JNA) library, set |
Bin
The bin directory contains the Neo4j running script and built-in tools, such as Cypher Shell and Neo4j Admin.
- File permissions
-
Read only and execute.
Neo4j distribution | Default file location |
---|---|
Linux / macOS / Docker |
<NEO4J_HOME>/bin |
Windows |
<NEO4J_HOME>\bin |
Debian / RPM |
/usr/bin |
Neo4j Desktop |
From the Open dropdown menu of your active Neo4j DBMS, select Terminal and run |
Certificates
The certificate directory contains the Neo4j TLS certificates.
- File permissions
-
Read only.
Neo4j distribution | Default file location |
---|---|
Linux / macOS / Docker |
<NEO4J_HOME>/certificates |
Windows |
<NEO4J_HOME>\certificates |
Debian / RPM |
/var/lib/neo4j/certificates |
Neo4j Desktop |
From the Open dropdown menu of your active Neo4j DBMS, select Terminal and run |
Configuration
The configuration directory contains the Neo4j configuration settings, Log4j configuration settings, and the JMX access credentials. For details about neo4j.conf, see The neo4j.conf file.
- File permissions
-
Read only
Neo4j distribution | Default file location |
---|---|
Linux / macOS / Docker |
<NEO4J_HOME>/conf/neo4j.conf |
Windows |
<NEO4J_HOME>\conf\neo4j.conf |
Debian / RPM |
/etc/neo4j/neo4j.conf |
Neo4j Desktop |
From the Open dropdown menu of your active Neo4j DBMS, select Terminal and run |
Data
The data directory contains all data-related content, such as databases, transactions, cluster-state (if applicable), dumps, and the cypher.script files (from the neo4j-admin database restore
command).
The data directory is internal to Neo4j and its structure is subject to change between versions without notice.
- File permissions
-
Read and write.
Neo4j distribution | Default file location |
---|---|
Linux / macOS / Docker |
<NEO4J_HOME>/data |
Windows |
<NEO4J_HOME>\data |
Debian / RPM |
/var/lib/neo4j/data |
Neo4j Desktop |
From the Open dropdown menu of your active Neo4j DBMS, select Terminal, and run |
Import
The import directory contains all CSV files that the command LOAD CSV
uses as sources to import data in Neo4j.
- File permissions
-
Read only
Neo4j distribution | Default file location |
---|---|
Linux / macOS / Docker |
<NEO4J_HOME>/import |
Windows |
<NEO4J_HOME>\import |
Debian / RPM |
/var/lib/neo4j/import |
Neo4j Desktop |
From the Open dropdown menu of your active Neo4j DBMS, select Terminal, and run |
Labs
The labs directory contains APOC Core. For more information, see APOC User Guide → Installation.
- File permissions
-
Read only.
Neo4j distribution | Default file location |
---|---|
Linux / macOS / Docker |
<NEO4J_HOME>/labs |
Windows |
<NEO4J_HOME>\labs |
Debian / RPM |
/var/lib/neo4j/labs |
Neo4j Desktop |
From the Open dropdown menu of your active Neo4j DBMS, select Terminal, and run |
Lib
The lib directory contains all Neo4j dependencies.
- File permissions
-
Read only.
Neo4j distribution | Default file location |
---|---|
Linux / macOS / Docker |
<NEO4J_HOME>/lib |
Windows |
<NEO4J_HOME>\lib |
Debian / RPM |
/usr/share/neo4j/lib |
Neo4j Desktop |
From the Open dropdown menu of your active Neo4j DBMS, select Terminal, and run |
Licenses
The licenses directory contains Neo4j license files.
- File permissions
-
Read only.
Neo4j distribution | Default file location |
---|---|
Linux / macOS / Docker |
<NEO4J_HOME>/licenses |
Windows |
<NEO4J_HOME>\licenses |
Debian / RPM |
/var/lib/neo4j/licenses |
Neo4j Desktop |
From the Open dropdown menu of your active Neo4j DBMS, select Terminal, and run |
Logs
The logs directory contains the Neo4j log files.
- File permissions
-
Read and write.
Neo4j distribution | Default file location |
---|---|
Linux / macOS / Docker |
<NEO4J_HOME>/logs [1] |
Windows |
<NEO4J_HOME>\logs |
Debian / RPM |
/var/log/neo4j/ [2] |
Neo4j Desktop |
From the Open dropdown menu of your active Neo4j DBMS, select Terminal, and run |
1. To view neo4j.log in Docker, use
2. To view the neo4j.log for Debian and RPM, use |
Metrics
The metrics directory contains the Neo4j built-in metrics for monitoring the Neo4j DBMS and each individual database.
- File permissions
-
Read and write.
Neo4j distribution | Default file location |
---|---|
Linux / macOS / Docker |
<NEO4J_HOME>/metrics |
Windows |
<NEO4J_HOME>\metrics |
Debian / RPM |
/var/lib/neo4j/metrics |
Neo4j Desktop |
From the Open dropdown menu of your active Neo4j DBMS, select Terminal, and run |
Plugins
The plugins directory contains custom code that extends Neo4j, for example, user-defined procedures, functions, and security plugins.
- File permissions
-
Read only.
Neo4j distribution | Default file location |
---|---|
Linux / macOS / Docker |
<NEO4J_HOME>/plugins |
Windows |
<NEO4J_HOME>\plugins |
Debian / RPM |
/var/lib/neo4j/plugins |
Neo4j Desktop |
From the Open dropdown menu of your active Neo4j DBMS, select Terminal, and run |
Products
The products directory contains the JAR files of the Neo4j products.
For Enterprise Edition, these are:
-
README.txt file — with information on enabling them.
Community Edition contains only the GenAI plugin.
- File permissions
-
Read only.
Neo4j distribution | Default file location |
---|---|
Linux / macOS / Docker |
<NEO4J_HOME>/products |
Windows |
<NEO4J_HOME>\products |
Debian / RPM |
/var/lib/neo4j/products |
Neo4j Desktop |
From the Open dropdown menu of your active Neo4j DBMS, select Terminal, and run |
Run
The run directory contains the processes IDs.
- File permissions
-
Read and write.
Neo4j distribution | Default file location |
---|---|
Linux / macOS / Docker |
<NEO4J_HOME>/run |
Windows |
<NEO4J_HOME>\run |
Debian / RPM |
/var/lib/neo4j/run |
Neo4j Desktop |
From the Open dropdown menu of your active Neo4j DBMS, select Terminal, and run |
Customize your file locations
The file locations can also be customized by using environment variables and options.
The locations of <NEO4J_HOME> and conf can be configured using environment variables:
Location | Default | Environment variable | Notes |
---|---|---|---|
<NEO4J_HOME> |
parent of bin |
|
Must be set explicitly if bin is not a subdirectory. |
conf |
<NEO4J_HOME>/conf |
|
Must be set explicitly if it is not a subdirectory of <NEO4J_HOME>. |
The rest of the locations can be configured by uncommenting the respective setting in the conf/neo4j.conf file and changing the default value.
#server.directories.data=data
#server.directories.plugins=plugins
#server.directories.logs=logs
#server.directories.lib=lib
#server.directories.run=run
#server.directories.licenses=licenses
#server.directories.metrics=metrics
#server.directories.transaction.logs.root=data/transactions
#server.directories.dumps.root=data/dumps
#server.directories.import=import