From 904c5fcd742aa41914752f49cff380c010f338b7 Mon Sep 17 00:00:00 2001 From: 514fpv Date: Fri, 5 Jan 2024 00:37:06 +0800 Subject: [PATCH] feat(library): add nextcloud service --- spec/library/nextcloud.nix | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 spec/library/nextcloud.nix diff --git a/spec/library/nextcloud.nix b/spec/library/nextcloud.nix new file mode 100644 index 00000000..dfac5afb --- /dev/null +++ b/spec/library/nextcloud.nix @@ -0,0 +1,40 @@ +{ pkgs +, ...}: let + host = "cloud.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; + }; + home = "/nix/persist/service/nextcloud"; + configureRedis = true; + webfinger = true; + maxUploadSize = "128G"; + 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"); + extraOptions.overwriteprotocol = "https"; + extraOptions.default_phone_region = "US"; + 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 = ".514fpv.io"; + addSSL = true; + }; +}