44 lines
1.2 KiB
Nix
44 lines
1.2 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
{
|
|
options.chvp.services.nextcloud.enable = lib.mkOption {
|
|
default = false;
|
|
example = true;
|
|
};
|
|
config = lib.mkIf config.chvp.services.nextcloud.enable {
|
|
chvp.base.zfs.systemLinks = [
|
|
{ path = "/var/lib/redis-nextcloud"; type = "cache"; }
|
|
];
|
|
services = {
|
|
nextcloud = {
|
|
home = "/var/lib/nextcloud";
|
|
https = true;
|
|
hostName = "nextcloud.vanpetegem.me";
|
|
enable = true;
|
|
autoUpdateApps.enable = true;
|
|
package = pkgs.nextcloud31;
|
|
caching.redis = true;
|
|
configureRedis = true;
|
|
config = {
|
|
dbtype = "pgsql";
|
|
adminuser = "admin";
|
|
adminpassFile = config.age.secrets."passwords/services/nextcloud-admin".path;
|
|
};
|
|
database.createLocally = true;
|
|
};
|
|
nginx.virtualHosts."nextcloud.vanpetegem.me" = {
|
|
forceSSL = true;
|
|
useACMEHost = "vanpetegem.me";
|
|
extraConfig = ''
|
|
fastcgi_connect_timeout 10m;
|
|
fastcgi_read_timeout 10m;
|
|
fastcgi_send_timeout 10m;
|
|
'';
|
|
};
|
|
};
|
|
age.secrets."passwords/services/nextcloud-admin" = {
|
|
file = ../../../../secrets/passwords/services/nextcloud-admin.age;
|
|
owner = "nextcloud";
|
|
};
|
|
};
|
|
}
|