2025-04-10 13:45:57 +08:00
|
|
|
{ config, pkgs, ... }:
|
|
|
|
{
|
|
|
|
services.nextcloud = {
|
|
|
|
enable = true;
|
|
|
|
configureRedis = true;
|
|
|
|
package = pkgs.nextcloud30;
|
|
|
|
hostName = "nextcloud.knossos";
|
2025-05-12 15:27:11 +08:00
|
|
|
datadir = "/home/elias/nextcloud/";
|
2025-04-10 13:45:57 +08:00
|
|
|
settings = {
|
|
|
|
overwriteprotocol = "https";
|
2025-05-12 15:27:11 +08:00
|
|
|
trusted_proxies = [ "localhost" "127.0.0.1" "100.82.24.89" ];
|
2025-04-10 13:45:57 +08:00
|
|
|
#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";
|
2025-05-12 15:27:11 +08:00
|
|
|
adminpassFile = "/var/lib/secrets/nextcloud-admin-pass";
|
2025-04-10 13:45:57 +08:00
|
|
|
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; } ];
|
|
|
|
|
|
|
|
}
|