optionally make nextcloud systemd services depend on mount point
This commit is contained in:
parent
8c2373430d
commit
046ae67083
2 changed files with 28 additions and 1 deletions
|
@ -82,6 +82,13 @@ in
|
|||
default = "/var/lib/nextcloud";
|
||||
};
|
||||
|
||||
mountPointServices = lib.mkOption {
|
||||
description = "If given, all the systemd services and timers will depend on the specified mount point systemd services.";
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [];
|
||||
example = lib.literalExpression ''["var.mount"]'';
|
||||
};
|
||||
|
||||
adminUser = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "Username of the initial admin user.";
|
||||
|
@ -616,10 +623,17 @@ in
|
|||
systemd.services.phpfpm-nextcloud.preStart = ''
|
||||
mkdir -p /var/log/xdebug; chown -R nextcloud: /var/log/xdebug
|
||||
'';
|
||||
systemd.services.phpfpm-nextcloud.requires = cfg.mountPointServices;
|
||||
systemd.services.phpfpm-nextcloud.after = cfg.mountPointServices;
|
||||
|
||||
systemd.services.nextcloud-cron.path = [
|
||||
pkgs.perl
|
||||
];
|
||||
systemd.timers.nextcloud-cron.requires = cfg.mountPointServices;
|
||||
systemd.timers.nextcloud-cron.after = cfg.mountPointServices;
|
||||
|
||||
systemd.services.nextcloud-setup.requires = cfg.mountPointServices;
|
||||
systemd.services.nextcloud-setup.after = cfg.mountPointServices;
|
||||
|
||||
# Sets up backup for Nextcloud.
|
||||
shb.backup.instances.nextcloud = {
|
||||
|
@ -685,7 +699,8 @@ in
|
|||
# Configured as defined in https://github.com/nextcloud/previewgenerator
|
||||
systemd.timers.nextcloud-cron-previewgenerator = {
|
||||
wantedBy = [ "timers.target" ];
|
||||
after = [ "nextcloud-setup.service" ];
|
||||
requires = cfg.mountPointServices;
|
||||
after = [ "nextcloud-setup.service" ] + cfg.mountPointServices;
|
||||
timerConfig.OnBootSec = "10m";
|
||||
timerConfig.OnUnitActiveSec = "10m";
|
||||
timerConfig.Unit = "nextcloud-cron-previewgenerator.service";
|
||||
|
|
|
@ -83,6 +83,18 @@ shb.nextcloud = {
|
|||
|
||||
After deploying, the Nextcloud server will be reachable at `http://nextcloud.example.com`.
|
||||
|
||||
### Mount Point {#services-nextcloud-server-mount-point}
|
||||
|
||||
If the `dataDir` exists in a mount point, it is highly recommended to make the various Nextcloud
|
||||
services wait on the mount point before starting. Doing that is just a matter of setting the `mountPointServices` option.
|
||||
|
||||
Assuming a mount point on `/var`, the configuration would look like so:
|
||||
|
||||
```nix
|
||||
fileSystems."/var".device = "...";
|
||||
shb.nextcloud.mountPointServices = [ "var.mount" ];
|
||||
```
|
||||
|
||||
### With LDAP Support {#services-nextcloud-server-usage-ldap}
|
||||
|
||||
:::: {.note}
|
||||
|
|
Loading…
Reference in a new issue