2023-11-19 23:40:42 +05:00
|
|
|
{ config, pkgs, ...}: {
|
2023-11-19 20:57:01 +05:00
|
|
|
services.prosody = {
|
|
|
|
enable = true;
|
2023-11-19 23:40:42 +05:00
|
|
|
|
|
|
|
package = pkgs.prosody.override {
|
2024-02-23 12:01:25 +05:00
|
|
|
withExtraLuaPackages = lua: [
|
|
|
|
lua.luadbi-postgresql
|
|
|
|
];
|
2023-11-19 23:40:42 +05:00
|
|
|
};
|
|
|
|
|
2024-02-23 10:52:11 +05:00
|
|
|
httpPorts = [ 5280 ];
|
|
|
|
httpsPorts = [ 5281 ];
|
|
|
|
|
2023-11-19 20:57:01 +05:00
|
|
|
virtualHosts."xmpp.comfycamp.space" = {
|
|
|
|
enabled = true;
|
|
|
|
domain = "xmpp.comfycamp.space";
|
|
|
|
ssl = {
|
|
|
|
cert = "/var/lib/acme/comfycamp.space/fullchain.pem";
|
|
|
|
key = "/var/lib/acme/comfycamp.space/key.pem";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
uploadHttp = {
|
|
|
|
domain = "upload.comfycamp.space";
|
|
|
|
uploadExpireAfter = "60 * 60 * 24 * 7 * 4";
|
|
|
|
};
|
|
|
|
|
|
|
|
ssl = {
|
|
|
|
cert = "/var/lib/acme/comfycamp.space/fullchain.pem";
|
|
|
|
key = "/var/lib/acme/comfycamp.space/key.pem";
|
|
|
|
};
|
|
|
|
|
|
|
|
muc = [
|
|
|
|
{
|
|
|
|
domain = "conference.comfycamp.space";
|
|
|
|
maxHistoryMessages = 512;
|
|
|
|
}
|
|
|
|
];
|
2023-11-19 22:56:36 +05:00
|
|
|
|
2024-02-23 12:15:04 +05:00
|
|
|
allowRegistration = false;
|
2023-11-19 22:56:36 +05:00
|
|
|
admins = [
|
|
|
|
"lumin@xmpp.comfycamp.space"
|
|
|
|
];
|
2023-11-19 23:37:19 +05:00
|
|
|
|
2024-02-23 16:14:41 +05:00
|
|
|
extraModules = [ "websocket" ];
|
2023-11-19 23:37:19 +05:00
|
|
|
extraConfig = ''
|
2024-02-23 16:07:03 +05:00
|
|
|
external_addresses = { "62.16.41.235" }
|
2023-11-19 23:37:19 +05:00
|
|
|
storage = "sql"
|
|
|
|
sql = { driver = "PostgreSQL", database = "prosody", username = "prosody", password = "", host = "/run/postgresql" }
|
|
|
|
'';
|
2023-11-19 20:57:01 +05:00
|
|
|
};
|
|
|
|
}
|