From 5f14c15679647f9b5cf103573e5c7142602b1c0e Mon Sep 17 00:00:00 2001 From: Adrian G L Date: Sun, 31 May 2026 02:04:30 +0200 Subject: [PATCH] feat: add radicale to bekkalokk --- hosts/bekkalokk/configuration.nix | 1 + hosts/bekkalokk/services/radicale.nix | 40 +++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 hosts/bekkalokk/services/radicale.nix diff --git a/hosts/bekkalokk/configuration.nix b/hosts/bekkalokk/configuration.nix index f208a48..4da44f0 100644 --- a/hosts/bekkalokk/configuration.nix +++ b/hosts/bekkalokk/configuration.nix @@ -7,6 +7,7 @@ ./services/alps.nix ./services/bluemap.nix + ./services/radicale.nix ./services/idp-simplesamlphp ./services/kerberos.nix ./services/mediawiki diff --git a/hosts/bekkalokk/services/radicale.nix b/hosts/bekkalokk/services/radicale.nix new file mode 100644 index 0000000..b89b274 --- /dev/null +++ b/hosts/bekkalokk/services/radicale.nix @@ -0,0 +1,40 @@ +{ config, lib, ... }: +let + domain = "dav.pvv.ntnu.no"; + radicalePort = 5232; +in { + services.radicale = { + enable = true; + + settings = { + server = { + hosts = [ "127.0.0.1:${toString radicalePort}" ]; + }; + + auth = { + type = "imap"; + imap_host = "imap.pvv.ntnu.no"; + imap_security = "tls"; + }; + + storage = { + filesystem_folder = "/var/lib/radicale/collections"; + }; + }; + }; + + services.nginx.virtualHosts."${domain}" = { + forceSSL = true; + enableACME = true; + kTLS = true; + + extraConfig = '' + client_max_body_size 128M; + ''; + + locations."/" = { + proxyPass = "http://127.0.0.1:${toString radicalePort}"; + proxyWebsockets = true; + }; + }; +}