summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmilia Bopp <contact@ebopp.de>2023-06-25 18:39:20 +0200
committerWeijia Wang <9713184+wegank@users.noreply.github.com>2024-01-05 18:20:24 +0100
commit5f6b7a35d636a4f89f0f7d913d3df9522541d23b (patch)
tree97146b1df0a6accd4343f7abd9965e8d49f61cab
parente2896d19b6718b386168abdc66090aa6106500ce (diff)
neo4j: 4.4.11 -> 5.9.0
-rw-r--r--nixos/doc/manual/release-notes/rl-2405.section.md4
-rw-r--r--nixos/modules/services/databases/neo4j.nix77
-rw-r--r--pkgs/servers/nosql/neo4j/default.nix14
3 files changed, 46 insertions, 49 deletions
diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md
index d238e92271c5..ffa88b7dd01c 100644
--- a/nixos/doc/manual/release-notes/rl-2405.section.md
+++ b/nixos/doc/manual/release-notes/rl-2405.section.md
@@ -52,6 +52,10 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- `idris2` was updated to v0.7.0. This version introduces breaking changes. Check out the [changelog](https://github.com/idris-lang/Idris2/blob/v0.7.0/CHANGELOG.md#v070) for details.
+- `neo4j` has been updated to 5, you may want to read the [release notes for Neo4j 5](https://neo4j.com/release-notes/database/neo4j-5/)
+
+- `services.neo4j.allowUpgrade` was removed and no longer has any effect. Neo4j 5 supports automatic rolling upgrades.
+
- `nitter` requires a `guest_accounts.jsonl` to be provided as a path or loaded into the default location at `/var/lib/nitter/guest_accounts.jsonl`. See [Guest Account Branch Deployment](https://github.com/zedeus/nitter/wiki/Guest-Account-Branch-Deployment) for details.
- Invidious has changed its default database username from `kemal` to `invidious`. Setups involving an externally provisioned database (i.e. `services.invidious.database.createLocally == false`) should adjust their configuration accordingly. The old `kemal` user will not be removed automatically even when the database is provisioned automatically.(https://github.com/NixOS/nixpkgs/pull/265857)
diff --git a/nixos/modules/services/databases/neo4j.nix b/nixos/modules/services/databases/neo4j.nix
index 56b916ee3758..45630e2d4488 100644
--- a/nixos/modules/services/databases/neo4j.nix
+++ b/nixos/modules/services/databases/neo4j.nix
@@ -35,65 +35,64 @@ let
serverConfig = pkgs.writeText "neo4j.conf" ''
# General
- dbms.allow_upgrade=${boolToString cfg.allowUpgrade}
- dbms.default_listen_address=${cfg.defaultListenAddress}
- dbms.databases.default_to_read_only=${boolToString cfg.readOnly}
+ server.default_listen_address=${cfg.defaultListenAddress}
+ server.databases.default_to_read_only=${boolToString cfg.readOnly}
${optionalString (cfg.workerCount > 0) ''
dbms.threads.worker_count=${toString cfg.workerCount}
''}
# Directories (readonly)
- dbms.directories.certificates=${cfg.directories.certificates}
- dbms.directories.plugins=${cfg.directories.plugins}
- dbms.directories.lib=${cfg.package}/share/neo4j/lib
+ # dbms.directories.certificates=${cfg.directories.certificates}
+ server.directories.plugins=${cfg.directories.plugins}
+ server.directories.lib=${cfg.package}/share/neo4j/lib
${optionalString (cfg.constrainLoadCsv) ''
- dbms.directories.import=${cfg.directories.imports}
+ server.directories.import=${cfg.directories.imports}
''}
# Directories (read and write)
- dbms.directories.data=${cfg.directories.data}
- dbms.directories.logs=${cfg.directories.home}/logs
- dbms.directories.run=${cfg.directories.home}/run
+ server.directories.data=${cfg.directories.data}
+ server.directories.logs=${cfg.directories.home}/logs
+ server.directories.run=${cfg.directories.home}/run
# HTTP Connector
${optionalString (cfg.http.enable) ''
- dbms.connector.http.enabled=${boolToString cfg.http.enable}
- dbms.connector.http.listen_address=${cfg.http.listenAddress}
- dbms.connector.http.advertised_address=${cfg.http.listenAddress}
+ server.http.enabled=${boolToString cfg.http.enable}
+ server.http.listen_address=${cfg.http.listenAddress}
+ server.http.advertised_address=${cfg.http.listenAddress}
''}
# HTTPS Connector
- dbms.connector.https.enabled=${boolToString cfg.https.enable}
- dbms.connector.https.listen_address=${cfg.https.listenAddress}
- dbms.connector.https.advertised_address=${cfg.https.listenAddress}
+ server.https.enabled=${boolToString cfg.https.enable}
+ server.https.listen_address=${cfg.https.listenAddress}
+ server.https.advertised_address=${cfg.https.listenAddress}
# BOLT Connector
- dbms.connector.bolt.enabled=${boolToString cfg.bolt.enable}
- dbms.connector.bolt.listen_address=${cfg.bolt.listenAddress}
- dbms.connector.bolt.advertised_address=${cfg.bolt.listenAddress}
- dbms.connector.bolt.tls_level=${cfg.bolt.tlsLevel}
+ server.bolt.enabled=${boolToString cfg.bolt.enable}
+ server.bolt.listen_address=${cfg.bolt.listenAddress}
+ server.bolt.advertised_address=${cfg.bolt.listenAddress}
+ server.bolt.tls_level=${cfg.bolt.tlsLevel}
# SSL Policies
${concatStringsSep "\n" sslPolicies}
# Default retention policy from neo4j.conf
- dbms.tx_log.rotation.retention_policy=1 days
+ db.tx_log.rotation.retention_policy=1 days
# Default JVM parameters from neo4j.conf
- dbms.jvm.additional=-XX:+UseG1GC
- dbms.jvm.additional=-XX:-OmitStackTraceInFastThrow
- dbms.jvm.additional=-XX:+AlwaysPreTouch
- dbms.jvm.additional=-XX:+UnlockExperimentalVMOptions
- dbms.jvm.additional=-XX:+TrustFinalNonStaticFields
- dbms.jvm.additional=-XX:+DisableExplicitGC
- dbms.jvm.additional=-Djdk.tls.ephemeralDHKeySize=2048
- dbms.jvm.additional=-Djdk.tls.rejectClientInitiatedRenegotiation=true
- dbms.jvm.additional=-Dunsupported.dbms.udc.source=tarball
-
- #dbms.memory.heap.initial_size=12000m
- #dbms.memory.heap.max_size=12000m
- #dbms.memory.pagecache.size=4g
- #dbms.tx_state.max_off_heap_memory=8000m
+ server.jvm.additional=-XX:+UseG1GC
+ server.jvm.additional=-XX:-OmitStackTraceInFastThrow
+ server.jvm.additional=-XX:+AlwaysPreTouch
+ server.jvm.additional=-XX:+UnlockExperimentalVMOptions
+ server.jvm.additional=-XX:+TrustFinalNonStaticFields
+ server.jvm.additional=-XX:+DisableExplicitGC
+ server.jvm.additional=-Djdk.tls.ephemeralDHKeySize=2048
+ server.jvm.additional=-Djdk.tls.rejectClientInitiatedRenegotiation=true
+ server.jvm.additional=-Dunsupported.dbms.udc.source=tarball
+
+ #server.memory.off_heap.transaction_max_size=12000m
+ #server.memory.heap.max_size=12000m
+ #server.memory.pagecache.size=4g
+ #server.tx_state.max_off_heap_memory=8000m
# Extra Configuration
${cfg.extraServerConfig}
@@ -127,14 +126,6 @@ in {
'';
};
- allowUpgrade = mkOption {
- type = types.bool;
- default = false;
- description = lib.mdDoc ''
- Allow upgrade of Neo4j database files from an older version.
- '';
- };
-
constrainLoadCsv = mkOption {
type = types.bool;
default = true;
diff --git a/pkgs/servers/nosql/neo4j/default.nix b/pkgs/servers/nosql/neo4j/default.nix
index 7de1967583b6..a198cc7d07b1 100644
--- a/pkgs/servers/nosql/neo4j/default.nix
+++ b/pkgs/servers/nosql/neo4j/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, lib, fetchurl, nixosTests, makeWrapper, openjdk11, which, gawk }:
+{ stdenv, lib, fetchurl, nixosTests, makeWrapper, openjdk17, which, gawk }:
stdenv.mkDerivation rec {
pname = "neo4j";
- version = "4.4.11";
+ version = "5.9.0";
src = fetchurl {
url = "https://neo4j.com/artifact.php?name=neo4j-community-${version}-unix.tar.gz";
- sha256 = "sha256-KIENqsXeSl1bd84tp9fD2kxczxMoi62IW4M8NblhAMg=";
+ sha256 = "sha256-XId0r6wk6KQ9HelNeyAO1q0n9Rtqt4ArwyX10nmSkwo=";
};
nativeBuildInputs = [ makeWrapper ];
@@ -21,13 +21,15 @@ stdenv.mkDerivation rec {
chmod +x "$out/share/neo4j/bin/$NEO4J_SCRIPT"
makeWrapper "$out/share/neo4j/bin/$NEO4J_SCRIPT" \
"$out/bin/$NEO4J_SCRIPT" \
- --prefix PATH : "${lib.makeBinPath [ openjdk11 which gawk ]}" \
- --set JAVA_HOME "${openjdk11}"
+ --prefix PATH : "${lib.makeBinPath [ openjdk17 which gawk ]}" \
+ --set JAVA_HOME "${openjdk17}"
done
patchShebangs $out/share/neo4j/bin/neo4j-admin
+
# user will be asked to change password on first login
- $out/bin/neo4j-admin set-initial-password neo4j
+ # password must be at least 8 characters long
+ $out/bin/neo4j-admin dbms set-initial-password neo4jadmin
'';
passthru.tests.nixos = nixosTests.neo4j;