nix-dotfiles/modules/nixos/nextcloud.nix

41 lines
1.3 KiB
Nix

{ pkgs, config, ... }: {
age.secrets = {
nextcloud_admin_secret = { file = ../../secrets/nextcloud_admin_secret.age; owner = "nextcloud"; };
nextcloud_bucket_secret = { file = ../../secrets/nextcloud_bucket_secret.age; owner = "nextcloud"; };
};
# services.nginx.virtualHosts.${config.services.nextcloud.hostName} = {
# enableACME = true;
# forceSSL = true;
# };
services.nextcloud = {
enable = true;
package = pkgs.nextcloud27;
hostName = "my-nextcloud.bertof.net";
maxUploadSize = "24G";
caching.apcu = true;
config = {
trustedProxies = [ "172.23.4.159" "fd80:56c2:e21c:f9c7:5399:93be:21a9:9fa0" "fe80::3079:d8ff:feb5:7d62" ];
extraTrustedDomains = [ config.services.nextcloud.hostName "freya.local" ];
adminpassFile = config.age.secrets.nextcloud_admin_secret.path;
overwriteProtocol = "https";
objectstore.s3 = {
enable = true;
bucket = "nextcloud-storage";
autocreate = false;
key = "GK622e38479552cbbbba48fd04";
secretFile = config.age.secrets.nextcloud_bucket_secret.path;
hostname = "localhost";
port = 3900;
useSsl = false;
region = "garage";
usePathStyle = true;
};
};
};
networking.firewall.allowedTCPPorts = [ 80 ];
}