99 lines
2.1 KiB
Nix
99 lines
2.1 KiB
Nix
# Default configuration for hosts
|
|
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
{
|
|
|
|
sops.secrets."nextcloud/admin" = with config.users.users.nextcloud; {
|
|
inherit group;
|
|
owner = name;
|
|
};
|
|
|
|
services.postgresql.enable = true;
|
|
qois.backup-client.includePaths = [ config.services.nextcloud.home ];
|
|
|
|
services.nextcloud = {
|
|
enable = true;
|
|
https = true;
|
|
webfinger = true;
|
|
maxUploadSize = "10G";
|
|
|
|
database.createLocally = true;
|
|
|
|
config = {
|
|
adminpassFile = config.sops.secrets."nextcloud/admin".path;
|
|
adminuser = "root";
|
|
dbtype = "pgsql";
|
|
};
|
|
|
|
appstoreEnable = false;
|
|
extraApps = {
|
|
inherit (config.services.nextcloud.package.passthru.packages.apps)
|
|
calendar
|
|
contacts
|
|
deck
|
|
groupfolders
|
|
maps
|
|
memories
|
|
music
|
|
news
|
|
notes
|
|
notify_push
|
|
tasks
|
|
twofactor_webauthn
|
|
;
|
|
};
|
|
|
|
phpOptions = {
|
|
"opcache.interned_strings_buffer" = "23";
|
|
};
|
|
|
|
poolSettings = {
|
|
"pm" = "dynamic";
|
|
"pm.max_children" = "256";
|
|
"pm.max_requests" = "500";
|
|
"pm.max_spare_servers" = "16";
|
|
"pm.min_spare_servers" = "2";
|
|
"pm.start_servers" = "8";
|
|
};
|
|
|
|
configureRedis = true;
|
|
caching.redis = true;
|
|
|
|
notify_push = {
|
|
enable = true;
|
|
bendDomainToLocalhost = true;
|
|
};
|
|
|
|
settings = {
|
|
log_type = "syslog";
|
|
syslog_tag = "nextcloud";
|
|
"memories.exiftool" = "${lib.getExe pkgs.exiftool}";
|
|
"memories.vod.ffmpeg" = "${lib.getExe pkgs.ffmpeg-headless}";
|
|
"memories.vod.ffprobe" = "${pkgs.ffmpeg-headless}/bin/ffprobe";
|
|
preview_ffmpeg_path = "${lib.getExe pkgs.ffmpeg-headless}";
|
|
mail_smtpmode = "sendmail";
|
|
mail_domain = "qo.is";
|
|
};
|
|
};
|
|
|
|
services.phpfpm.pools.nextcloud.settings = {
|
|
"pm.max_children" = lib.mkForce "256";
|
|
"pm.max_spare_servers" = lib.mkForce "16";
|
|
"pm.start_servers" = lib.mkForce "8";
|
|
};
|
|
|
|
users.users.nextcloud.extraGroups = [ "postdrop" ];
|
|
|
|
systemd.services.nextcloud-cron = {
|
|
path = [ pkgs.perl ];
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
nodejs # required for Recognize
|
|
];
|
|
}
|