Unverified Commit 2f9c0ffd authored by Maximilian Bosch's avatar Maximilian Bosch Committed by GitHub
Browse files

Merge pull request #237736 from Ma27/bump-nextcloud

nextcloud27: init
parents 49dc3a12 67d1f272
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -46,6 +46,12 @@

- The Cinnamon module now enables XDG desktop integration by default. If you are experiencing collisions related to xdg-desktop-portal-gtk you can safely remove `xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];` from your NixOS configuration.

- The latest available version of Nextcloud is v27 (available as `pkgs.nextcloud27`). The installation logic is as follows:
  - If [`services.nextcloud.package`](#opt-services.nextcloud.package) is specified explicitly, this package will be installed (**recommended**)
  - If [`system.stateVersion`](#opt-system.stateVersion) is >=23.11, `pkgs.nextcloud27` will be installed by default.
  - If [`system.stateVersion`](#opt-system.stateVersion) is >=23.05, `pkgs.nextcloud26` will be installed by default.
  - Please note that an upgrade from v25 (or older) to v27 directly is not possible. Please upgrade to `nextcloud26` (or earlier) first. Nextcloud prohibits skipping major versions while upgrading. You can upgrade by declaring [`services.nextcloud.package = pkgs.nextcloud26;`](options.html#opt-services.nextcloud.package).

- A new option was added to the virtualisation module that enables specifying explicitly named network interfaces in QEMU VMs. The existing `virtualisation.vlans` is still supported for cases where the name of the network interface is irrelevant.

- `services.nginx` gained a `defaultListen` option at server-level with support for PROXY protocol listeners, also `proxyProtocol` is now exposed in `services.nginx.virtualHosts.<name>.listen` option. It is now possible to run PROXY listeners and non-PROXY listeners at a server-level, see [#213510](https://github.com/NixOS/nixpkgs/pull/213510/) for more details.
+1 −1
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ self-hostable cloud platform. The server setup can be automated using
[services.nextcloud](#opt-services.nextcloud.enable). A
desktop client is packaged at `pkgs.nextcloud-client`.

The current default by NixOS is `nextcloud26` which is also the latest
The current default by NixOS is `nextcloud27` which is also the latest
major version available.

## Basic usage {#module-services-nextcloud-basic-usage}
+7 −9
Original line number Diff line number Diff line
@@ -207,7 +207,7 @@ in {
    package = mkOption {
      type = types.package;
      description = lib.mdDoc "Which package to use for the Nextcloud instance.";
      relatedPackages = [ "nextcloud25" "nextcloud26" ];
      relatedPackages = [ "nextcloud25" "nextcloud26" "nextcloud27" ];
    };
    phpPackage = mkOption {
      type = types.package;
@@ -689,7 +689,7 @@ in {

  config = mkIf cfg.enable (mkMerge [
    { warnings = let
        latest = 26;
        latest = 27;
        upgradeWarning = major: nixos:
          ''
            A legacy Nextcloud install (from before NixOS ${nixos}) may be installed.
@@ -708,10 +708,9 @@ in {
          Using config.services.nextcloud.poolConfig is deprecated and will become unsupported in a future release.
          Please migrate your configuration to config.services.nextcloud.poolSettings.
        '')
        ++ (optional (versionOlder cfg.package.version "23") (upgradeWarning 22 "22.05"))
        ++ (optional (versionOlder cfg.package.version "24") (upgradeWarning 23 "22.05"))
        ++ (optional (versionOlder cfg.package.version "25") (upgradeWarning 24 "22.11"))
        ++ (optional (versionOlder cfg.package.version "26") (upgradeWarning 25 "23.05"))
        ++ (optional (versionOlder cfg.package.version "27") (upgradeWarning 26 "23.11"))
        ++ (optional cfg.enableBrokenCiphersForSSE ''
          You're using PHP's openssl extension built against OpenSSL 1.1 for Nextcloud.
          This is only necessary if you're using Nextcloud's server-side encryption.
@@ -744,7 +743,8 @@ in {
            ''
          else if versionOlder stateVersion "22.11" then nextcloud24
          else if versionOlder stateVersion "23.05" then nextcloud25
          else nextcloud26
          else if versionOlder stateVersion "23.11" then nextcloud26
          else nextcloud27
        );

      services.nextcloud.phpPackage =
@@ -1065,10 +1065,8 @@ in {
      services.nextcloud = lib.mkIf cfg.configureRedis {
        caching.redis = true;
        extraOptions = {
          memcache = {
            distributed = ''\OC\Memcache\Redis'';
            locking = ''\OC\Memcache\Redis'';
          };
          "memcache.distributed" = ''\OC\Memcache\Redis'';
          "memcache.locking" = ''\OC\Memcache\Redis'';
          redis = {
            host = config.services.redis.servers.nextcloud.unixSocket;
            port = 0;
+1 −1
Original line number Diff line number Diff line
@@ -26,4 +26,4 @@ foldl
    };
  })
{ }
  [ 25 26 ]
  [ 25 26 27 ]
+3 −8
Original line number Diff line number Diff line
@@ -40,16 +40,11 @@ in {
        secretFile = "/etc/nextcloud-secrets.json";

        extraOptions.redis = {
          host = "/run/redis/redis.sock";
          port = 0;
          dbindex = 0;
          timeout = 1.5;
          # password handled via secretfile below
        };
        extraOptions.memcache = {
          local = "\OC\Memcache\Redis";
          locking = "\OC\Memcache\Redis";
        };
        configureRedis = true;
      };

      services.redis.servers."nextcloud".enable = true;
@@ -74,7 +69,7 @@ in {

      # This file is meant to contain secret options which should
      # not go into the nix store. Here it is just used to set the
      # databyse type to postgres.
      # redis password.
      environment.etc."nextcloud-secrets.json".text = ''
        {
          "redis": {
@@ -117,6 +112,6 @@ in {
    )

    # redis cache should not be empty
    nextcloud.fail("redis-cli KEYS * | grep -q 'empty array'")
    nextcloud.fail('test "[]" = "$(redis-cli --json KEYS "*")"')
  '';
})
Loading