nixos/hosts/architect/nextcloud.nix

64 lines
1.3 KiB
Nix
Raw Permalink Normal View History

2021-11-25 11:42:32 +00:00
{ pkgs, ... }:
2021-07-13 09:53:22 +01:00
let
domain = "cloud.giugl.io";
network = import ./network.nix;
2022-10-28 12:32:49 +01:00
redis_port = 6379;
in {
2021-07-13 09:53:22 +01:00
services = {
2022-10-28 12:32:49 +01:00
mysql = {
enable = true;
package = pkgs.unstable.mysql80;
};
2021-11-25 11:42:32 +00:00
2022-10-28 12:32:49 +01:00
redis = {
vmOverCommit = true;
servers."nextcloud" = {
enable = true;
port = redis_port;
};
};
2021-07-13 09:53:22 +01:00
nextcloud = {
enable = true;
2022-10-28 12:32:49 +01:00
hostName = domain;
2021-07-13 09:53:22 +01:00
https = true;
2022-11-11 18:17:40 +00:00
package = pkgs.unstable.nextcloud25;
2021-08-25 12:10:31 +01:00
2022-10-28 12:32:49 +01:00
caching = {
redis = true;
};
2021-07-13 09:53:22 +01:00
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}" ];
2021-07-13 09:53:22 +01:00
};
};
};
systemd.services."nextcloud-setup" = {
2021-11-25 11:42:32 +00:00
requires = [ "mysql.service" ];
after = [ "mysql.service" ];
2021-07-13 09:53:22 +01:00
};
networking.extraHosts = ''
${network.architect-lan} ${domain}
${network.architect-wg} ${domain}
2021-07-13 09:53:22 +01:00
'';
services.nginx.virtualHosts.${domain} = {
2021-11-25 11:42:32 +00:00
forceSSL = true;
enableACME = true;
};
2021-07-13 09:53:22 +01:00
}