diff options
author | Maximilian Bosch <maximilian@mbosch.me> | 2020-06-03 18:57:14 +0200 |
---|---|---|
committer | Maximilian Bosch <maximilian@mbosch.me> | 2020-06-20 11:30:11 +0200 |
commit | f326e5a35e82574f6f7107bdd607dd703ec37a58 (patch) | |
tree | b2ef63a36d900278b0e265c97715c5102e52cc43 /nixos/modules/services/web-apps/nextcloud.nix | |
parent | a2a5aa26349667be58dbf73520d2e78c9ea15a55 (diff) | |
download | nixpkgs-f326e5a35e82574f6f7107bdd607dd703ec37a58.tar nixpkgs-f326e5a35e82574f6f7107bdd607dd703ec37a58.tar.gz nixpkgs-f326e5a35e82574f6f7107bdd607dd703ec37a58.tar.bz2 nixpkgs-f326e5a35e82574f6f7107bdd607dd703ec37a58.tar.lz nixpkgs-f326e5a35e82574f6f7107bdd607dd703ec37a58.tar.xz nixpkgs-f326e5a35e82574f6f7107bdd607dd703ec37a58.tar.zst nixpkgs-f326e5a35e82574f6f7107bdd607dd703ec37a58.zip |
nixos/nextcloud: update upgrade-path for nextcloud19
Enhance the heuristics to make sure that a user doesn't accidentally upgrade across two major versions of Nextcloud (e.g. from v17 to v19). The original idea/discussion has been documented in the nixpkgs manual[1]. This includes the following changes: * `nextcloud19` will be selected automatically when having a stateVersion greater or equal than 20.09. For existing setups, the package has to be selected manually to avoid accidental upgrades. * When using `nextcloud18` or older, a warning will be thrown which recommends upgrading to `nextcloud19`. * Added a brief paragraph about `nextcloud19` in the NixOS 19.09 release notes. * Restart `phpfpm` if the Nextcloud-package (`cfg.package`) changes[2]. [1] https://nixos.org/nixos/manual/index.html#module-services-nextcloud-maintainer-info [2] https://github.com/NixOS/nixpkgs/pull/89427#issuecomment-638885727
Diffstat (limited to 'nixos/modules/services/web-apps/nextcloud.nix')
-rw-r--r-- | nixos/modules/services/web-apps/nextcloud.nix | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index 7f57490287d..41269426e9e 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -336,7 +336,16 @@ in { server, and wait until the upgrade to 17 is finished. Then, set `services.nextcloud.package` to `pkgs.nextcloud18` to upgrade to - Nextcloud version 18. + Nextcloud version 18. Please note that Nextcloud 19 is already out and it's + recommended to upgrade to nextcloud19 after that. + '') + ++ (optional (versionOlder cfg.package.version "19") '' + A legacy Nextcloud install (from before NixOS 20.09/unstable) may be installed. + + If/After nextcloud18 is installed successfully, you can safely upgrade to + nextcloud19. If not, please upgrade to nextcloud18 first since Nextcloud doesn't + support upgrades that skip multiple versions (i.e. an upgrade from 17 to 19 isn't + possible, but an upgrade from 18 to 19). ''); services.nextcloud.package = with pkgs; @@ -348,7 +357,8 @@ in { `pkgs.nextcloud`. '' else if versionOlder stateVersion "20.03" then nextcloud17 - else nextcloud18 + else if versionOlder stateVersion "20.09" then nextcloud18 + else nextcloud19 ); } @@ -360,6 +370,11 @@ in { }; systemd.services = { + # When upgrading the Nextcloud package, Nextcloud can report errors such as + # "The files of the app [all apps in /var/lib/nextcloud/apps] were not replaced correctly" + # Restarting phpfpm on Nextcloud package update fixes these issues (but this is a workaround). + phpfpm-nextcloud.restartTriggers = [ cfg.package ]; + nextcloud-setup = let c = cfg.config; writePhpArrary = a: "[${concatMapStringsSep "," (val: ''"${toString val}"'') a}]"; |