Unverified Commit 546d4d4b authored by Sandro Jäckel's avatar Sandro Jäckel
Browse files

nixos/nextcloud: add configureRedis option

parent aad25290
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
@@ -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} = {