diff --git a/hosts/servo/services/ejabberd.nix b/hosts/servo/services/ejabberd.nix index e5d995aa2..4e835590b 100644 --- a/hosts/servo/services/ejabberd.nix +++ b/hosts/servo/services/ejabberd.nix @@ -1,5 +1,7 @@ # docs: # - +# example configs: +# - 2013: { lib, ... }: # XXX disabled: fails to start because of `mnesia_tm` dependency @@ -33,16 +35,50 @@ pam_userinfotype: jid + # docs: + shaper_rules: + max_s2s_connections: 3 + max_user_offline_messages: 5000 + c2s_shaper: + fast: all + s2s_shaper: + med: all + + # docs: + # this limits the bytes/sec. + # for example, burst: 3_000_000 and rate: 100_000 means: + # - each client has a BW budget that accumulates 100kB/sec and is capped at 3 MB + shaper: + fast: 1000000 + med: 500000 + # fast: + # - rate: 1000000 + # - burst_size: 10000000 + # med: + # - rate: 500000 + # - burst_size: 5000000 + # see: # TODO: host web admin panel + s2s_use_starttls: true listen: - port: 5222 module: ejabberd_c2s + shaper: c2s_shaper starttls: true - port: 5269 module: ejabberd_s2s_in - starttls: true + shaper: s2s_shaper + - + port: 5280 + module: ejabberd_http + request_handlers: + /admin: ejabberd_web_admin + /api: mod_http_api + /bosh: mod_bosh + /upload: mod_http_upload + /ws: ejabberd_http_ws ''; }