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
This commit is contained in:
parent
a2a5aa2634
commit
f326e5a35e
|
@ -642,6 +642,16 @@ systemd.services.nginx.serviceConfig.ReadWritePaths = [ "/var/www" ];
|
|||
<package>netbeans</package> was upgraded to 12.0 and now defaults to OpenJDK 11. This might cause problems if your projects depend on packages that were removed in Java 11.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<package>nextcloud</package> has been updated to <link xlink:href="https://nextcloud.com/blog/nextcloud-hub-brings-productivity-to-home-office/">v19</link>.
|
||||
</para>
|
||||
<para>
|
||||
If you have an existing installation, please make sure that you're on
|
||||
<package>nextcloud18</package> before upgrading to <package>nextcloud19</package>
|
||||
since Nextcloud doesn't support upgrades across multiple major versions.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
</section>
|
||||
|
|
|
@ -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}]";
|
||||
|
|
|
@ -161,5 +161,11 @@
|
|||
};
|
||||
}</programlisting>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Ideally we should make sure that it's possible to jump two NixOS versions forward:
|
||||
i.e. the warnings and the logic in the module should guard a user to upgrade from a
|
||||
Nextcloud on e.g. 19.09 to a Nextcloud on 20.09.
|
||||
</para>
|
||||
</section>
|
||||
</chapter>
|
||||
|
|
Loading…
Reference in New Issue