Debian-based distributions (.deb)
You can install Neo4j on Debian, and Debian-based distributions like Ubuntu, using the Neo4j Debian package.
Neo4j 5 requires the Java 17 runtime.
Java 17 is not included in Ubuntu 16.04 LTS and will have to be set up manually prior to installing or upgrading to Neo4j 5, as described below.
Debian 11 and Ubuntu 18.04 onwards already have the OpenJDK Java 17 package available through
Oracle JDK, Zulu JDK, or Corretto JDK
If you wish to use a non-default JDK, it must be installed prior to starting the Neo4j installation. Otherwise, your package manager will install the default java distribution for your operating system, usually OpenJDK.
Download and installation instructions can be found on the manufacturer’s website:
OpenJDK 17 on Ubuntu 16.04
Add the official OpenJDK package repository to
sudo add-apt-repository -y ppa:openjdk-r/ppa sudo apt-get update
You are now ready to install Neo4j, which will install Java 17 automatically if it is not already installed. See Dealing with multiple installed Java versions to make sure you can start Neo4j after install.
Dealing with multiple installed Java versions
It is important that you configure your default Java version to point to Java 17, or Neo4j 5.8.0 will be unable to start.
Do so with the
List all your installed versions of Java with
Your results may vary, but this is an example of the output:
java-1.17.0-openjdk-amd64 1711 /usr/lib/jvm/java-1.17.0-openjdk-amd64 java-1.11.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.11.0-openjdk-amd64
Identify your Java 17 version:
In this case, it is
Set it as the default by replacing
<java17name>with its name:
sudo update-java-alternatives --jre --set <java17name>
Confirm which version of Java is the default using
Add the repository
The Debian package is available from https://debian.neo4j.com.
To use the repository for generally available versions of Neo4j, run:
wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add - echo 'deb https://debian.neo4j.com stable latest' | sudo tee -a /etc/apt/sources.list.d/neo4j.list sudo apt-get update
To avoid the risk of the
aptpackage manager accidentally forcing a database upgrade, different major and minor releases of Neo4j are also available separately inside the repository. To install Neo4j this way, specify the major and minor version required, in place of
The following method for production or business-critical installations is recommended:
wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add - echo 'deb https://debian.neo4j.com stable 5' | sudo tee -a /etc/apt/sources.list.d/neo4j.list sudo apt-get update
Once the repository has been added to
apt, you can verify which Neo4j versions are available by running:
apt list -a neo4j
In Ubuntu server installations, you also need to make sure that the
universerepository is enabled. If the
universerepository is not present, the Neo4j installation will fail with the error
Depends: daemon but it is not installable.
This can be fixed by running the command:
sudo add-apt-repository universe
To install Neo4j, run one of the following commands depending on which version you want to install:
Neo4j Community Edition:
sudo apt-get install neo4j=1:5.8.0
Neo4j Enterprise Edition:
sudo apt-get install neo4j-enterprise=1:5.8.0
Note that the version includes an epoch version component (
1:), following the Debian policy on versioning.
When installing Neo4j Enterprise Edition, you will be prompted to accept the license agreement. Once the license agreement is accepted installation begins. Your answer to the license agreement prompt will be remembered for future installations on the same system.
To forget the stored answer, and trigger the license agreement prompt on subsequent installation, use
debconf-communicate to purge the stored answer:
echo purge | sudo debconf-communicate neo4j-enterprise
Non-interactive installation of Neo4j Enterprise Edition
For Neo4j Enterprise Edition, the license agreement is presented in an interactive prompt.
If you require non-interactive installation of Neo4j Enterprise Edition, you can indicate that you have read and accepted the license agreement using
echo "neo4j-enterprise neo4j/accept-license select Accept commercial license" | sudo debconf-set-selections
echo "neo4j-enterprise neo4j/question select I ACCEPT" | sudo debconf-set-selections echo "neo4j-enterprise neo4j/license note" | sudo debconf-set-selections
Verify Correct Java is Installed
On newer Debian or Ubuntu operating systems, Java 19 is available by default, and
apt may have installed OpenJDK 19, even if Java 17 was already installed.
If this happens, you will see this warning on Neo4j start:
WARNING! You are using an unsupported Java runtime. * Please use Oracle(R) Java(TM) 17, OpenJDK(TM) 17 to run Neo4j. * Please see https://neo4j.com/docs/ for Neo4j installation instructions.
To fix this, you can install Java 17 manually, then either uninstall OpenJDK 19, or set Java 17 as the default.
To install OpenJDK 17 manually:
sudo apt install openjdk-17-jre
+ For other distributions of Java 17, see instructions for setting up java pre-requisites.
Uninstall OpenJDK 19:
sudo apt remove openjdk-19-jre-headless
Set Java 17 as default:
If you want to keep OpenJDK 19 installed, follow the instructions in the section for Dealing with multiple installed Java versions to set Java 17 as the default java version.
If you cannot reach
https://debian.neo4j.com, perhaps due to a firewall, you need to obtain Neo4j via an alternative machine that has the relevant access, and then move the package manually.
It is important to note that using this method will mean that the offline machine will not receive the dependencies that are normally downloaded and installed automatically when using
Run the following to download the required Debian software package:
Neo4j Enterprise Edition:
curl -O https://dist.neo4j.org/deb/neo4j-enterprise_5.8.0_all.deb
To list all files that the Debian software package (
dpkg --contents neo4j_5.8.0_all.deb
Neo4j Community Edition:
curl -O https://dist.neo4j.org/deb/neo4j_5.8.0_all.deb
Manually move the downloaded Debian package to the offline machine.
Run the following on the offline machine to install Neo4j:
sudo dpkg -i <deb file name>
File locations for all Neo4j packages are documented here.
Most Neo4j configuration goes into neo4j.conf.
For operating systems using
systemd, some package-specific options are set in neo4j.service and can be edited using
systemctl edit neo4j.service.
For operating systems that are not using
systemd, some package-specific options are set in /etc/default/neo4j.
|Environment variable||Default value||Details|
Timeout in seconds when waiting for Neo4j to stop. If it takes longer than this then the shutdown is considered to have failed. This may need to be increased if the system serves long-running transactions.
Maximum number of file handles that can be opened by the Neo4j process.
Starting the service automatically on system start
On Debian-based distributions, Neo4j is enabled to start automatically on system boot by default.
Before starting up the database for the first time, it is recommended to use the
If the password is not set explicitly using this method, it will be set to the default password
For more information, see Set an initial password.
For more information on operating the Neo4j system service, see Neo4j system service.
Was this page helpful?