Files
nix/services/nextcloud.nix

93 lines
2.3 KiB
Nix
Raw Permalink Normal View History

{
config,
pkgs,
...
}: let
cfg = config.services.nextcloud;
in {
imports = [
"${fetchTarball {
url = "https://github.com/onny/nixos-nextcloud-testumgebung/archive/fa6f062830b4bc3cedb9694c1dbf01d5fdf775ac.tar.gz";
sha256 = "0gzd0276b8da3ykapgqks2zhsqdv4jjvbv97dsxg0hgrhb74z0fs";
}}/nextcloud-extras.nix"
];
services.nextcloud = let
version = "33";
in {
enable = false;
package = pkgs."nextcloud${version}";
webserver = "caddy";
hostName = "nextcloud.local";
appstoreEnable = false;
configureRedis = true;
database.createLocally = true;
extraApps = {
inherit
(pkgs."nextcloud${version}Packages".apps)
# mail
calendar
contacts
memories
news
notes
# recognize
;
};
config = {
adminuser = "admin";
adminpassFile = config.sops.secrets."services/nextcloud/adminpass".path;
dbtype = "pgsql";
# objectstore.s3 = {
# enable = true;
# verify_bucket_exists = false;
# bucket = "nextcloud";
# hostname = "localhost";
# port = 3461;
# usePathStyle = true;
# useSsl = false;
# region = config.services.garage.settings.s3_api.s3_region;
# key = "GK7b6d9214adf40850e5f39d66";
# secretFile = config.sops.secrets."nextcloud/s3/secret".path;
# # sseCKeyFile = config.sops.secrets."nextcloud/s3/sseC".path; # Needs SSL
# };
};
settings = {
"auth.authtoken.v1.disabled" = true;
debug = false;
default_language = "pt_BR";
default_locale = "pt_BR";
default_phone_region = "BR";
default_timezone = config.time.timeZone;
loglevel = 2;
maintenance_window_start = 4; # 1:00 AM at UTC-3
trusted_proxies = ["127.0.0.1"];
};
phpExtraExtensions = all:
with all; [
opcache
];
phpOptions = {
"opcache.interned_strings_buffer" = 10;
"opcache.jit" = 1255;
"opcache.jit_buffer_size" = "8M";
"opcache.revalidate_freq" = 60;
"opcache.save_comments" = 1;
};
};
environment.persistence."/persist".directories = [
{
directory = cfg.datadir;
user = "nextcloud";
group = "nextcloud";
}
];
# sops.secrets = {
# "services/nextcloud/adminpass" = {owner = "nextcloud";};
# };
}