You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
1.9 KiB
73 lines
1.9 KiB
{ config, pkgs, ... }:
|
|
|
|
{
|
|
users.users.prosody.extraGroups = [ "tls" ];
|
|
|
|
networking.firewall.allowedTCPPorts = [ 5222 5223 5269 5280 5281 ];
|
|
|
|
services.prosody = let
|
|
ssl = {
|
|
cert = "/var/lib/acme/spacekookie.de/fullchain.pem";
|
|
key = "/var/lib/acme/spacekookie.de/key.pem";
|
|
};
|
|
in {
|
|
enable = true;
|
|
admins = [ "kookie@spacekookie.de" ];
|
|
modules = {
|
|
bosh = true;
|
|
carbons = true;
|
|
http_files = true;
|
|
mam = true;
|
|
pep = true;
|
|
proxy65 = true;
|
|
register = true;
|
|
websocket = true;
|
|
};
|
|
extraModules = ["vcard_legacy"];
|
|
inherit ssl;
|
|
virtualHosts."spacekookie.de" = {
|
|
domain = "spacekookie.de";
|
|
# extraConfig = ''
|
|
# http_host = "xmpp.spacekookie.de"
|
|
# '';
|
|
enabled = true;
|
|
inherit ssl;
|
|
};
|
|
|
|
# Move this to brook module
|
|
virtualHosts."guest-xmpp.spacekookie.de" = {
|
|
enabled = true;
|
|
domain = "guest-xmpp.spacekookie.de";
|
|
inherit ssl;
|
|
extraConfig = ''
|
|
authentication = "anonymous"
|
|
http_host = "guest-xmpp.spacekookie.de";
|
|
'';
|
|
};
|
|
|
|
package = pkgs.prosody.override {
|
|
withCommunityModules = [ "http_upload" "smacks" "csi" "conversejs"
|
|
"cloud_notify" "bookmarks" "vcard_muc" ];
|
|
};
|
|
muc = [{
|
|
domain = "rooms.spacekookie.de";
|
|
name = "muc";
|
|
extraConfig = ''
|
|
restrict_room_creation = "local"
|
|
modules_enabled = { "muc_mam" }
|
|
muc_log_by_default = true
|
|
muc_log_presences = false
|
|
log_all_rooms = false
|
|
muc_log_expires_after = "12w"
|
|
muc_log_cleanup_interval = 4 * 60 * 60
|
|
'';
|
|
}];
|
|
uploadHttp = {
|
|
domain = "xmpp.spacekookie.de";
|
|
uploadFileSizeLimit = "512 * 1024 * 1024"; # 512MB
|
|
};
|
|
extraConfig = ''
|
|
legacy_ssl_ports = { 5223 }
|
|
'';
|
|
};
|
|
}
|
|
|