From d6e385ea14b8fafea9f35455d1b43a4b89377256 Mon Sep 17 00:00:00 2001 From: Katharina Fey Date: Thu, 28 Nov 2019 13:52:28 +0100 Subject: server/prosody: init with special xmpp cert --- modules/server/prosody/default.nix | 49 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 modules/server/prosody/default.nix (limited to 'modules/server/prosody') diff --git a/modules/server/prosody/default.nix b/modules/server/prosody/default.nix new file mode 100644 index 00000000000..65a1cf7b8c7 --- /dev/null +++ b/modules/server/prosody/default.nix @@ -0,0 +1,49 @@ +/* PROSODY XMPP SERVER + * + * Convenient XMPP server with lots of XEP extentions, that also + * sets up ACME certificates specifically for the XMPP domain + */ + +{ config, pkgs, ... }: + +let + ssl = { + cert = "/var/lib/acme/xmpp.spacekookie.de/fullchain.pem"; + key = "/var/lib/acme/xmpp.spacekookie.de/key.pem"; + }; +in +{ + networking.firewall.allowedTCPPorts = [ 5222 5269 ]; + + security.acme.certs."xmpp.spacekookie.de" = { + email = "letsencrypt@spacekookie.de"; + webroot = "/var/lib/acme/acme-challenge"; + extraDomains = { + "spacekookie.de" = null; + }; + user = "prosody"; + }; + + services.prosody = { + enable = true; + modules = { + register = false; + http_files = true; + carbons = true; + mam = true; + pep = true; + }; + inherit ssl; + virtualHosts."spacekookie.de" = { + domain = "spacekookie.de"; + enabled = true; + inherit ssl; + }; + package = pkgs.prosody.override { + withCommunityModules = [ "http_upload" "smacks" "csi" "cloud_notify" ]; + }; + extraConfig = '' + http_upload_file_size_limit = 0 -- No limit + ''; + }; +} -- cgit v1.2.3