Merge pull request #140188 from NixOS/backport-140159-to-release-21.05

[Backport release-21.05] nextcloud: misc changes
This commit is contained in:
Maximilian Bosch 2021-10-01 21:46:28 +02:00 committed by GitHub
commit 6385534d45
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 45 additions and 12 deletions

View File

@ -6,7 +6,7 @@ let
cfg = config.services.nextcloud; cfg = config.services.nextcloud;
fpm = config.services.phpfpm.pools.nextcloud; fpm = config.services.phpfpm.pools.nextcloud;
phpPackage = pkgs.php74.buildEnv { phpPackage = cfg.phpPackage.buildEnv {
extensions = { enabled, all }: extensions = { enabled, all }:
(with all; (with all;
enabled enabled
@ -94,6 +94,14 @@ in {
description = "Which package to use for the Nextcloud instance."; description = "Which package to use for the Nextcloud instance.";
relatedPackages = [ "nextcloud19" "nextcloud20" "nextcloud21" "nextcloud22" ]; relatedPackages = [ "nextcloud19" "nextcloud20" "nextcloud21" "nextcloud22" ];
}; };
phpPackage = mkOption {
type = types.package;
relatedPackages = [ "php74" "php80" ];
defaultText = "pkgs.php";
description = ''
PHP package to use for Nextcloud.
'';
};
maxUploadSize = mkOption { maxUploadSize = mkOption {
default = "512M"; default = "512M";
@ -450,6 +458,10 @@ in {
else if versionOlder stateVersion "21.03" then nextcloud19 else if versionOlder stateVersion "21.03" then nextcloud19
else nextcloud21 else nextcloud21
); );
services.nextcloud.phpPackage =
if versionOlder cfg.package.version "21" then pkgs.php74
else pkgs.php80;
} }
{ systemd.timers.nextcloud-cron = { { systemd.timers.nextcloud-cron = {

View File

@ -1,4 +1,6 @@
import ../make-test-python.nix ({ pkgs, ...}: let args@{ pkgs, nextcloudVersion ? 22, ... }:
(import ../make-test-python.nix ({ pkgs, ...}: let
adminpass = "notproduction"; adminpass = "notproduction";
adminuser = "root"; adminuser = "root";
in { in {
@ -39,6 +41,7 @@ in {
inherit adminpass; inherit adminpass;
dbtableprefix = "nixos_"; dbtableprefix = "nixos_";
}; };
package = pkgs.${"nextcloud" + (toString nextcloudVersion)};
autoUpdateApps = { autoUpdateApps = {
enable = true; enable = true;
startAt = "20:00"; startAt = "20:00";
@ -100,4 +103,4 @@ in {
) )
assert "hi" in client.succeed("cat /mnt/dav/test-shared-file") assert "hi" in client.succeed("cat /mnt/dav/test-shared-file")
''; '';
}) })) args

View File

@ -2,8 +2,20 @@
config ? {}, config ? {},
pkgs ? import ../../.. { inherit system config; } pkgs ? import ../../.. { inherit system config; }
}: }:
{
basic = import ./basic.nix { inherit system pkgs; }; with pkgs.lib;
with-postgresql-and-redis = import ./with-postgresql-and-redis.nix { inherit system pkgs; };
with-mysql-and-memcached = import ./with-mysql-and-memcached.nix { inherit system pkgs; }; foldl
} (matrix: ver: matrix // {
"basic${toString ver}" = import ./basic.nix { inherit system pkgs; nextcloudVersion = ver; };
"with-postgresql-and-redis${toString ver}" = import ./with-postgresql-and-redis.nix {
inherit system pkgs;
nextcloudVersion = ver;
};
"with-mysql-and-memcached${toString ver}" = import ./with-mysql-and-memcached.nix {
inherit system pkgs;
nextcloudVersion = ver;
};
})
{}
[ 20 21 22 ]

View File

@ -1,4 +1,6 @@
import ../make-test-python.nix ({ pkgs, ...}: let args@{ pkgs, nextcloudVersion ? 22, ... }:
(import ../make-test-python.nix ({ pkgs, ...}: let
adminpass = "hunter2"; adminpass = "hunter2";
adminuser = "root"; adminuser = "root";
in { in {
@ -18,6 +20,7 @@ in {
enable = true; enable = true;
hostName = "nextcloud"; hostName = "nextcloud";
https = true; https = true;
package = pkgs.${"nextcloud" + (toString nextcloudVersion)};
caching = { caching = {
apcu = true; apcu = true;
redis = false; redis = false;
@ -103,4 +106,4 @@ in {
"${withRcloneEnv} ${diffSharedFile}" "${withRcloneEnv} ${diffSharedFile}"
) )
''; '';
}) })) args

View File

@ -1,4 +1,6 @@
import ../make-test-python.nix ({ pkgs, ...}: let args@{ pkgs, nextcloudVersion ? 22, ... }:
(import ../make-test-python.nix ({ pkgs, ...}: let
adminpass = "hunter2"; adminpass = "hunter2";
adminuser = "custom-admin-username"; adminuser = "custom-admin-username";
in { in {
@ -17,6 +19,7 @@ in {
services.nextcloud = { services.nextcloud = {
enable = true; enable = true;
hostName = "nextcloud"; hostName = "nextcloud";
package = pkgs.${"nextcloud" + (toString nextcloudVersion)};
caching = { caching = {
apcu = false; apcu = false;
redis = true; redis = true;
@ -96,4 +99,4 @@ in {
"${withRcloneEnv} ${diffSharedFile}" "${withRcloneEnv} ${diffSharedFile}"
) )
''; '';
}) })) args