feat(services,nextcloud): add nextcloud configuration
This commit is contained in:
92
services/nextcloud.nix
Normal file
92
services/nextcloud.nix
Normal file
@@ -0,0 +1,92 @@
|
||||
{
|
||||
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";};
|
||||
# };
|
||||
}
|
||||
Reference in New Issue
Block a user