✨ [pi4] Initial Nextcloud config
This commit is contained in:
@ -5,6 +5,7 @@
|
||||
(relativeToBase "modules")
|
||||
./boot.nix
|
||||
./hardware.nix
|
||||
./nextcloud.nix
|
||||
./security
|
||||
];
|
||||
}
|
||||
|
72
hosts/pi4/nextcloud.nix
Normal file
72
hosts/pi4/nextcloud.nix
Normal file
@ -0,0 +1,72 @@
|
||||
{ pkgs, config, ... }:
|
||||
let
|
||||
adminPass = "nextcloud/admin-pass";
|
||||
domain = "beta.nextcloud.martials.no";
|
||||
dbname = "nextcloud";
|
||||
dbuser = dbname;
|
||||
in
|
||||
{
|
||||
services = {
|
||||
nextcloud = {
|
||||
enable = true;
|
||||
|
||||
autoUpdateApps.enable = true;
|
||||
|
||||
config = {
|
||||
adminpassFile = config.sops.secrets.${adminPass}.path;
|
||||
dbtype = "pgsql";
|
||||
dbname = dbname;
|
||||
dbuser = dbuser;
|
||||
# default directory for postgresql, ensures automatic setup of db
|
||||
dbhost = "/run/postgresql";
|
||||
adminuser = "admin";
|
||||
defaultPhoneRegion = "NO";
|
||||
};
|
||||
|
||||
extraApps = {
|
||||
inherit (config.services.nextcloud.package.packages.apps)
|
||||
contacts
|
||||
tasks
|
||||
deck
|
||||
;
|
||||
};
|
||||
extraAppsEnable = true;
|
||||
|
||||
hostName = domain;
|
||||
https = true;
|
||||
|
||||
package = pkgs.nextcloud31;
|
||||
|
||||
settings = {
|
||||
trusted_domains = [
|
||||
domain
|
||||
];
|
||||
};
|
||||
};
|
||||
postgresql = {
|
||||
enable = true;
|
||||
ensureDatabases = [ dbname ];
|
||||
ensureUsers = [
|
||||
{
|
||||
name = dbuser;
|
||||
ensureDBOwnership = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
postgresqlBackup = {
|
||||
enable = true;
|
||||
location = "/data/backup/nextclouddb";
|
||||
databases = [ dbname ];
|
||||
# time to start backup in systemd.time format
|
||||
startAt = "*-*-* 23:15:00";
|
||||
};
|
||||
};
|
||||
|
||||
sops.secrets.${adminPass}.neededForUsers = true;
|
||||
|
||||
# ensure postgresql db is started with nextcloud
|
||||
systemd.services."nextcloud-setup" = {
|
||||
requires = [ "postgresql.service" ];
|
||||
after = [ "postgresql.service" ];
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user