diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index 28a5d12201e4..0c10451add4c 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -766,6 +766,18 @@
directly.
+
+
+ The dendrite package has been upgraded from
+ 0.5.1 to
+ 0.6.5.
+ Instances configured with split sqlite databases, which has
+ been the default in NixOS, require merging of the federation
+ sender and signing key databases. See upstream
+ release
+ notes on version 0.6.0 for details on database changes.
+
+
The existing pkgs.opentelemetry-collector
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index f56bc3d12872..b9402ba5f9dd 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -293,6 +293,14 @@ In addition to numerous new and upgraded packages, this release has the followin
This breaks back-compat so it's not possible to mix-and-match with previous versions of nixpkgs. In exchange, it now becomes possible to use the providers from [nixpkgs-terraform-providers-bin](https://github.com/numtide/nixpkgs-terraform-providers-bin) directly.
+- The `dendrite` package has been upgraded from 0.5.1 to
+ [0.6.5](https://github.com/matrix-org/dendrite/releases/tag/v0.6.5). Instances
+ configured with split sqlite databases, which has been the default
+ in NixOS, require merging of the federation sender and signing key
+ databases. See upstream [release
+ notes](https://github.com/matrix-org/dendrite/releases/tag/v0.6.0)
+ on version 0.6.0 for details on database changes.
+
- The existing `pkgs.opentelemetry-collector` has been moved to
`pkgs.opentelemetry-collector-contrib` to match the actual source being the
"contrib" edition. `pkgs.opentelemetry-collector` is now the actual core
diff --git a/nixos/modules/services/misc/dendrite.nix b/nixos/modules/services/misc/dendrite.nix
index c967fc3a362a..b2885b094153 100644
--- a/nixos/modules/services/misc/dendrite.nix
+++ b/nixos/modules/services/misc/dendrite.nix
@@ -110,6 +110,15 @@ in
'';
};
};
+ options.app_service_api.database = {
+ connection_string = lib.mkOption {
+ type = lib.types.str;
+ default = "file:federationapi.db";
+ description = ''
+ Database for the Appservice API.
+ '';
+ };
+ };
options.client_api = {
registration_disabled = lib.mkOption {
type = lib.types.bool;
@@ -120,6 +129,91 @@ in
'';
};
};
+ options.federation_api.database = {
+ connection_string = lib.mkOption {
+ type = lib.types.str;
+ default = "file:federationapi.db";
+ description = ''
+ Database for the Federation API.
+ '';
+ };
+ };
+ options.key_server.database = {
+ connection_string = lib.mkOption {
+ type = lib.types.str;
+ default = "file:keyserver.db";
+ description = ''
+ Database for the Key Server (for end-to-end encryption).
+ '';
+ };
+ };
+ options.media_api = {
+ database = {
+ connection_string = lib.mkOption {
+ type = lib.types.str;
+ default = "file:mediaapi.db";
+ description = ''
+ Database for the Media API.
+ '';
+ };
+ };
+ base_path = lib.mkOption {
+ type = lib.types.str;
+ default = "${workingDir}/media_store";
+ description = ''
+ Storage path for uploaded media.
+ '';
+ };
+ };
+ options.room_server.database = {
+ connection_string = lib.mkOption {
+ type = lib.types.str;
+ default = "file:roomserver.db";
+ description = ''
+ Database for the Room Server.
+ '';
+ };
+ };
+ options.sync_api.database = {
+ connection_string = lib.mkOption {
+ type = lib.types.str;
+ default = "file:syncserver.db";
+ description = ''
+ Database for the Sync API.
+ '';
+ };
+ };
+ options.user_api = {
+ account_database = {
+ connection_string = lib.mkOption {
+ type = lib.types.str;
+ default = "file:userapi_accounts.db";
+ description = ''
+ Database for the User API, accounts.
+ '';
+ };
+ };
+ device_database = {
+ connection_string = lib.mkOption {
+ type = lib.types.str;
+ default = "file:userapi_devices.db";
+ description = ''
+ Database for the User API, devices.
+ '';
+ };
+ };
+ };
+ options.mscs = {
+ database = {
+ connection_string = lib.mkOption {
+ type = lib.types.str;
+ default = "file:mscs.db";
+ description = ''
+ Database for exerimental MSC's.
+ '';
+ };
+ };
+ };
};
default = { };
description = ''
diff --git a/pkgs/servers/dendrite/default.nix b/pkgs/servers/dendrite/default.nix
index 3d92b2cd4bac..b1c0f1424d9f 100644
--- a/pkgs/servers/dendrite/default.nix
+++ b/pkgs/servers/dendrite/default.nix
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "matrix-dendrite";
- version = "0.5.1";
+ version = "0.6.5";
src = fetchFromGitHub {
owner = "matrix-org";
repo = "dendrite";
rev = "v${version}";
- sha256 = "1HCVWSxXOR2syN+dLDSvrNzYHTj/vXZRHkXhU0f3m1k=";
+ sha256 = "jSn2awZsfsniSOTNkaEdQw/sZm7nUfiMntsxigy/51Y=";
};
- vendorSha256 = "sha256-RqEt0RAsKWKy6NvMzulqY56nZ7fIxgJkgN/WpEZ3F2I=";
+ vendorSha256 = "sha256-B4d3FGXy8TrED3oikTjETQso/AtEfIWWcdY6FykD/8A=";
passthru.tests = {
inherit (nixosTests) dendrite;