nixos/hosts/architect/nextcloud.nix

66 lines
1.4 KiB
Nix
Raw 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;
2023-02-11 02:29:48 +00:00
in
{
2021-07-13 09:53:22 +01:00
services = {
2022-10-28 12:32:49 +01:00
mysql = {
enable = true;
package = pkgs.unstablePkgs.mysql80;
2022-10-28 12:32:49 +01:00
};
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;
package = pkgs.unstablePkgs.nextcloud25;
2022-12-01 13:28:10 +00:00
datadir = "/services/nextcloud";
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}
${network.architect-ts} ${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
}