depot/cluster/services/nextcloud/host.nix

64 lines
1.5 KiB
Nix
Raw Permalink Normal View History

2023-08-31 01:55:45 +03:00
{ cluster, config, lib, pkgs, depot, ... }:
let
patroni = cluster.config.links.patroni-pg-access;
in
2021-10-16 21:23:55 +03:00
{
age.secrets = {
nextcloud-adminpass = {
file = ../../../secrets/nextcloud-adminpass.age;
2021-10-16 21:23:55 +03:00
owner = "nextcloud";
group = "nextcloud";
mode = "0400";
};
nextcloud-dbpass = {
file = ../../../secrets/nextcloud-dbpass.age;
2021-10-16 21:23:55 +03:00
owner = "nextcloud";
group = "nextcloud";
mode = "0400";
};
};
services.nextcloud = {
package = pkgs.nextcloud29;
2021-10-16 21:23:55 +03:00
enable = true;
https = true;
2023-08-31 01:55:45 +03:00
hostName = "storage.${depot.lib.meta.domain}";
2021-10-16 21:23:55 +03:00
home = "/srv/storage/www-app/nextcloud";
maxUploadSize = "4G";
enableImagemagick = true;
caching = with lib; flip genAttrs (_: true) [
"apcu" "redis"
];
autoUpdateApps = {
enable = true;
startAt = "02:00";
};
config = {
dbhost = patroni.tuple;
2021-10-16 21:23:55 +03:00
dbtype = "pgsql";
dbname = "storage";
dbuser = "storage";
dbpassFile = config.age.secrets.nextcloud-dbpass.path;
2021-10-16 21:23:55 +03:00
adminuser = "sa";
adminpassFile = config.age.secrets.nextcloud-adminpass.path;
2021-10-16 21:23:55 +03:00
};
settings = {
overwriteprotocol = "https";
};
2021-10-16 21:23:55 +03:00
};
services.nginx.virtualHosts."${config.services.nextcloud.hostName}" = {
addSSL = true;
enableACME = true;
};
2021-12-03 00:39:54 +02:00
systemd.services = {
phpfpm-nextcloud.aliases = [ "nextcloud.service" ];
nextcloud-setup.serviceConfig = {
Restart = "on-failure";
RestartSec = "10s";
};
2021-12-03 00:39:54 +02:00
};
2021-10-16 21:23:55 +03:00
}