diff options
author | Kjetil Orbekk <kj@orbekk.com> | 2021-05-16 09:58:27 -0400 |
---|---|---|
committer | Kjetil Orbekk <kj@orbekk.com> | 2021-05-16 10:06:48 -0400 |
commit | 98198fde4124182bbbdea4788c86a022656db65c (patch) | |
tree | d6c52838690c6ea07f060a52c0abeb885b70eed4 /modules/nextcloud.nix | |
parent | 771dd8bbf5bbad15ff356fe8ea5f46867d3be8e1 (diff) |
Update
Diffstat (limited to 'modules/nextcloud.nix')
-rw-r--r-- | modules/nextcloud.nix | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/modules/nextcloud.nix b/modules/nextcloud.nix new file mode 100644 index 0000000..4e16a35 --- /dev/null +++ b/modules/nextcloud.nix @@ -0,0 +1,42 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.orbekk.nextcloud; +in +{ + options = { + orbekk.nextcloud = { + enable = lib.mkEnableOption "Enable nextcloud server"; + }; + }; + + config = lib.mkIf cfg.enable { + services.nextcloud = { + enable = true; + hostName = "localhost"; + config = { + dbtype = "pgsql"; + dbuser = "nextcloud"; + dbhost = "/run/postgresql"; # nextcloud will add /.s.PGSQL.5432 by itself + dbname = "nextcloud"; + adminpassFile = "/opt/secret/nextcloud/admin-pass-file"; + adminuser = "root"; + }; + autoUpdateApps = true; + }; + + services.postgresql = { + enable = true; + ensureDatabases = [ "nextcloud" ]; + ensureUsers = [ + { name = "nextcloud"; + ensurePermissions."DATABASE nextcloud" = "ALL PRIVILEGES"; + } + ]; + }; + + systemd.services."nextcloud-setup" = { + requires = ["postgresql.service"]; + after = ["postgresql.service"]; + }; + }; +} |