nixos/spec/focus/nextcloud.nix

48 lines
1.4 KiB
Nix

{ pkgs
, ...}: let
host = "cloud.sf.514fpv.io";
in {
services.nextcloud = {
enable = true;
package = pkgs.nextcloud28;
extraApps = {
inherit (pkgs.nextcloud28Packages.apps)
notify_push impersonate spreed
contacts bookmarks deck polls notes forms
twofactor_webauthn;
};
home = "/nix/persist/service/nextcloud";
configureRedis = true;
webfinger = true;
maxUploadSize = "128G";
fastcgiTimeout = 300;
hostName = host;
phpExtraExtensions = all: with all; [ bz2 ];
database.createLocally = true;
config.dbtype = "pgsql";
config.adminuser = "koishi";
config.adminpassFile = builtins.toString (pkgs.writeText "password" "initial_password");
settings.overwriteprotocol = "https";
settings.maintenance_window_start = 17;
settings.default_phone_region = "US";
settings.default_language = "zh";
settings.default_locale = "zh_Hans_CN";
caching.redis = true;
phpOptions.upload_max_filesize = "128G";
phpOptions.post_max_size = "128G";
phpOptions.output_buffering = "0";
phpOptions."opcache.interned_strings_buffer" = "32";
https = true;
};
users.users.nextcloud.uid = 1022;
users.groups.nextcloud.gid = 1022;
services.nginx.virtualHosts.${host} = {
useACMEHost = ".sf.514fpv.io";
addSSL = true;
};
global.fs.zfs.mountpoints."/nix/persist/service/nextcloud" = "service/nextcloud";
}