{ config, pkgs, ... }: { services.nextcloud = { enable = true; configureRedis = true; package = pkgs.nextcloud30; hostName = "nextcloud.knossos"; datadir = "/var/lib/nextcloud/"; settings = { overwriteprotocol = "https"; trusted_proxies = [ "localhost" "127.0.0.1" "100.122.246.61" ]; #trusted_domains = [ "knossos.zebra-rudd.ts.net" ]; }; config = { dbtype = "pgsql"; dbuser = "nextcloud"; dbhost = "/run/postgresql"; # nextcloud will add /.s.PGSQL.5432 by itself dbname = "nextcloud"; adminpassFile = "/var/nextcloud-admin-pass"; adminuser = "admin"; }; }; services.postgresql = { enable = true; ensureDatabases = [ "nextcloud" ]; ensureUsers = [ { name = "nextcloud"; ensureDBOwnership = true; } ]; }; # ensure that postgres is running *before* running the setup systemd.services."nextcloud-setup" = { requires = ["postgresql.service"]; after = ["postgresql.service"]; }; services.nginx.virtualHosts."nextcloud.knossos".listen = [ { addr = "127.0.0.1"; port = 8009; } ]; }