feat: adds nextcloud (works!)

This commit is contained in:
Ahwx 2025-12-31 01:43:47 +01:00
parent 7671014026
commit 185fc681f5

View file

@ -1,19 +1,33 @@
{ ... }: { config, pkgs, ... }:
{ {
services.nextcloud = { services.nextcloud = {
enable = false; enable = true;
config.dbtype = "sqlite"; package = pkgs.nextcloud32;
configureRedis = true; hostName = "cloud.liv.town";
home = "/home/liv/nextcloud"; # appstoreEnable = true;
config.adminpassFile = "/run/nextcloud/adminpassFile";
maxUploadSize = "25G";
https = true; https = true;
hostName = "dandelion.srv.liv.town"; maxUploadSize = "10G";
extraApps = {
inherit (config.services.nextcloud.package.packages.apps)
news
contacts
calendar
groupfolders
notify_push
;
};
config = {
adminuser = "root";
adminpassFile = config.sops.secrets.nextcloudPassword.path;
dbtype = "sqlite";
};
configureRedis = true;
settings = { settings = {
trusted_domains = [ mail_smtphost = "smtp.migadu.com";
"dandelion.srv.liv.town" mail_smtpport = 465;
"files.dandelion.srv.liv.town" mail_smtpname = "notifications@liv.town";
]; mail_smtpauth = true;
trusted_domains = [ "cloud.liv.town" ];
enabledPreviewProviders = [ enabledPreviewProviders = [
"OC\\Preview\\BMP" "OC\\Preview\\BMP"
"OC\\Preview\\GIF" "OC\\Preview\\GIF"
@ -29,4 +43,25 @@
]; ];
}; };
}; };
services.nginx.virtualHosts.${config.services.nextcloud.hostName} = {
forceSSL = true;
sslCertificate = "/var/lib/acme/liv.town/cert.pem";
sslCertificateKey = "/var/lib/acme/liv.town/key.pem";
};
systemd.services.nextcloud-custom-config = {
path = [
config.services.nextcloud.occ
];
script = ''
nextcloud-occ theming:config name "livnet"
# nextcloud-occ theming:config description "liv to your fullest"
nextcloud-occ theming:config url "https://cloud.liv.town";
# nextcloud-occ theming:config privacyUrl "https://liv.town/privacy";
nextcloud-occ theming:config color "#3253a5";
'';
# nextcloud-occ theming:config logo ${./logo.png}
after = [ "nextcloud-setup.service" ];
wantedBy = [ "multi-user.target" ];
};
} }