{ pkgs, ... }: let domain = "cloud.giugl.io"; network = import ./network.nix; in { services = { mysql.enable = true; mysql.package = pkgs.unstable.mysql80; redis.enable = true; nextcloud = { enable = true; hostName = "${domain}"; https = true; package = pkgs.unstable.nextcloud23; caching.redis = true; autoUpdateApps.enable = true; autoUpdateApps.startAt = "05:00:00"; logLevel = 1; 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} ''; services.nginx.virtualHosts.${domain} = { forceSSL = true; enableACME = true; }; }