nix-config/features/server/services/nextcloud.nix

80 lines
2.4 KiB
Nix
Raw Normal View History

{ config, pkgs, ... }:
2024-08-12 15:56:45 +02:00
{
2024-08-12 21:15:24 +02:00
imports = [
"${
fetchTarball {
url = "https://github.com/onny/nixos-nextcloud-testumgebung/archive/fa6f062830b4bc3cedb9694c1dbf01d5fdf775ac.tar.gz";
sha256 = "0gzd0276b8da3ykapgqks2zhsqdv4jjvbv97dsxg0hgrhb74z0fs";
}
}/nextcloud-extras.nix"
./nextcloud-network.nix
2024-08-12 21:15:24 +02:00
]; # adding caddy support
2024-08-12 21:52:33 +02:00
sops.secrets.adminNextcloudPass = {
owner = "nextcloud";
};
2024-08-12 21:55:10 +02:00
2024-08-12 16:09:02 +02:00
services.nextcloud = {
2024-08-12 15:56:45 +02:00
enable = true;
hostName = "cloud.hypervirtual.world";
database.createLocally = true;
2024-08-12 21:15:24 +02:00
webserver = "caddy";
configureRedis = true;
2024-08-12 15:56:45 +02:00
config = {
dbtype = "pgsql";
2024-08-12 17:47:03 +02:00
adminpassFile = config.sops.secrets.adminNextcloudPass.path;
2024-08-12 15:56:45 +02:00
};
settings = {
enabledPreviewProviders = [
"OC\\Preview\\BMP"
"OC\\Preview\\GIF"
"OC\\Preview\\JPEG"
"OC\\Preview\\Krita"
"OC\\Preview\\MarkDown"
"OC\\Preview\\MP3"
"OC\\Preview\\OpenDocument"
"OC\\Preview\\PNG"
"OC\\Preview\\TXT"
"OC\\Preview\\XBitmap"
"OC\\Preview\\HEIC"
];
trustedDomains = [ "cloud.hypervirtual.world" ];
overwriteprotocol = "https";
log_type = "file"; # temporary fix for https://nixos.org/manual/nixos/stable/#module-services-nextcloud-warning-logreader
default_phone_region = "FR";
};
2024-08-17 10:52:30 +02:00
phpOptions."opcache.interned_strings_buffer" = "23";
extraApps = {
inherit (config.services.nextcloud.package.packages.apps)
contacts
calendar
2024-08-17 15:31:10 +02:00
previewgenerator
twofactor_nextcloud_notification
;
2024-08-17 15:31:10 +02:00
memories = pkgs.fetchNextcloudApp {
2024-08-17 14:55:40 +02:00
sha256 = "sha256-DJPskJ4rTECTaO1XJFeOD1EfA3TQR4YXqG+NIti0UPE=";
url = "https://github.com/pulsejet/memories/releases/download/v7.3.1/memories.tar.gz";
license = "agpl3Only";
2024-08-17 15:31:10 +02:00
};
2024-08-17 15:31:10 +02:00
registration = pkgs.fetchNextcloudApp {
2024-08-17 15:37:25 +02:00
sha256 = "sha256-dDaQHyHdkkd8ZammLdck2HNGqqfEaunwevdPzbWzB8Y=";
2024-08-17 15:31:10 +02:00
url = "https://github.com/nextcloud-releases/registration/releases/download/v2.4.0/registration-v2.4.0.tar.gz";
license = "agpl3Only";
};
2024-08-17 15:31:10 +02:00
facerecognition = pkgs.fetchNextcloudApp {
2024-08-17 15:37:25 +02:00
sha256 = "sha256-1dfpmnyyrjyn7wbjfj3w072rzfl7zwm8ppphgsg8ampw2dy7y6yk";
2024-08-17 15:31:10 +02:00
url = "https://github.com/matiasdelellis/facerecognition/releases/download/v0.9.51/facerecognition.tar.gz";
license = "agpl3Only";
};
};
extraAppsEnable = true;
2024-08-12 15:56:45 +02:00
};
}