nixos/nextcloud: add configureRedis option

This commit is contained in:
Sandro Jäckel 2023-04-15 17:52:18 +02:00
parent aad25290ee
commit 546d4d4b76
No known key found for this signature in database
GPG Key ID: 3AF5A43A3EECC2E5

View File

@ -551,6 +551,19 @@ in {
default = true;
};
configureRedis = lib.mkOption {
type = lib.types.bool;
default = config.services.nextcloud.notify_push.enable;
defaultText = literalExpression "config.services.nextcloud.notify_push.enable";
description = lib.mdDoc ''
Wether to configure nextcloud to use the recommended redis settings for small instances.
::: {.note}
The `notify_push` app requires redis to be configured. If this option is turned off, this must be configured manually.
:::
'';
};
caching = {
apcu = mkOption {
type = types.bool;
@ -1044,6 +1057,25 @@ in {
}];
};
services.redis.servers.nextcloud = lib.mkIf cfg.configureRedis {
enable = true;
user = "nextcloud";
};
services.nextcloud = lib.mkIf cfg.configureRedis {
caching.redis = true;
extraOptions = {
memcache = {
distributed = ''\OC\Memcache\Redis'';
locking = ''\OC\Memcache\Redis'';
};
redis = {
host = config.services.redis.servers.nextcloud.unixSocket;
port = 0;
};
};
};
services.nginx.enable = mkDefault true;
services.nginx.virtualHosts.${cfg.hostName} = {