nixos/hosts/architect/nextcloud.nix
2023-05-01 05:51:06 +02:00

66 lines
1.4 KiB
Nix

{ pkgs, ... }:
let
domain = "cloud.giugl.io";
network = import ./network.nix;
redis_port = 6379;
in
{
services = {
mysql = {
enable = true;
package = pkgs.unstablePkgs.mysql80;
};
redis = {
vmOverCommit = true;
servers."nextcloud" = {
enable = true;
port = redis_port;
};
};
nextcloud = {
enable = true;
hostName = domain;
https = true;
package = pkgs.unstablePkgs.nextcloud26;
datadir = "/services/nextcloud";
caching = {
redis = true;
};
autoUpdateApps.enable = true;
autoUpdateApps.startAt = "05:00:00";
config = {
overwriteProtocol = "https";
dbtype = "mysql";
dbuser = "oc_giulio2";
dbhost = "localhost";
dbname = "nextcloud_final";
dbpassFile = "/secrets/nextcloud/dbpass.txt";
adminpassFile = "/secrets/nextcloud/adminpass.txt";
adminuser = "giulio";
extraTrustedDomains = [ "${domain}" ];
};
};
};
systemd.services."nextcloud-setup" = {
requires = [ "mysql.service" ];
after = [ "mysql.service" ];
};
networking.extraHosts = ''
${network.architect-lan} ${domain}
${network.architect-wg} ${domain}
${network.architect-ts} ${domain}
'';
services.nginx.virtualHosts.${domain} = {
forceSSL = true;
enableACME = true;
};
}