nixos-config/modules/services/server/nextcloud.nix

73 lines
2.0 KiB
Nix
Raw Normal View History

2022-12-11 18:35:42 +01:00
2023-01-03 16:57:39 +01:00
{ config, pkgs, ... }:
2022-12-11 18:35:42 +01:00
{
services.nextcloud = {
enable = true;
2023-01-06 19:30:22 +01:00
hostName = "cloud.kabtop.de";
2022-12-11 18:35:42 +01:00
https = true;
2023-07-29 16:18:11 +02:00
package = pkgs.nextcloud27;
2023-01-03 16:57:39 +01:00
enableBrokenCiphersForSSE = false;
database.createLocally = false;
2023-06-04 15:03:12 +02:00
logType = "file";
caching = {
redis = true;
apcu = false;
};
extraOptions = {
2023-06-04 15:03:12 +02:00
logfile = "nextcloud.log";
redis = {
host = "/run/redis-nextcloud/redis.sock";
port = 0;
};
"memcache.local" = "\\OC\\Memcache\\Redis";
"memcache.distributed" = "\\OC\\Memcache\\Redis";
"memcache.locking" = "\\OC\\Memcache\\Redis";
};
2022-12-11 18:35:42 +01:00
config = {
dbtype = "pgsql";
dbuser = "nextcloud";
dbhost = "localhost";
dbname = "nextclouddb";
adminuser = "kabbone";
adminpassFile = config.age.secrets."services/nextcloud/adminpassFile".path;
dbpassFile = config.age.secrets."services/nextcloud/dbpassFile".path;
2022-12-31 19:02:57 +01:00
overwriteProtocol = "https";
defaultPhoneRegion = "DE";
2022-12-11 18:35:42 +01:00
};
phpOptions = {
"opcache.interned_strings_buffer" = "16";
};
2022-12-31 19:02:57 +01:00
#autoUpdateApps.enable = true;
2022-12-11 18:35:42 +01:00
};
services.redis.servers.nextcloud = {
enable = true;
user = "nextcloud";
port = 0;
};
2023-01-03 16:57:39 +01:00
services.nginx = {
enable = true;
virtualHosts = {
"${config.services.nextcloud.hostName}" = {
enableACME = true;
forceSSL = true;
};
};
};
age.secrets."services/nextcloud/dbpassFile" = {
file = ../../../secrets/services/nextcloud/dbpassFile.age;
owner = "nextcloud";
};
age.secrets."services/nextcloud/adminpassFile" = {
file = ../../../secrets/services/nextcloud/adminpassFile.age;
owner = "nextcloud";
};
2022-12-11 18:35:42 +01:00
systemd.services."nextcloud-setup" = {
requires = ["postgresql.service"];
after = ["postgresql.service"];
};
}