{loglevel, 2}.
{hosts, ["chatdomain.com"]}.
{listen,
[
{5222, ejabberd_c2s, [
{access, c2s},
{shaper, c2s_shaper},
{max_stanza_size, 65536},
{max_fsm_queue, 1000}
]},
{5269, ejabberd_s2s_in, [
{shaper, s2s_shaper},
{max_stanza_size, 131072}
]},
{5280, ejabberd_http, [
http_bind,
http_poll,
web_admin
]}
]}.
{host_config, "chatdomain.com", [{auth_method, [internal, anonymous]},{allow_multiple_connections, false},{anonymous_protocol, both}]}.
{shaper, normal, {maxrate, 1000}}.
{shaper, fast, {maxrate, 50000}}.
{max_fsm_queue, 1000}.
{acl, admin, {user, "admin", "chatdomain.com"}}.
{acl, mucadmins, {user, "chatadmin", "chatdomain.com"}}.
%{acl, mucadmins, {user, "uncognitous", "chatdomain.com"}}.
{acl, local, {user_regexp, ""}}.
{access, max_user_sessions, [{10, all}]}.
{access, max_user_offline_messages, [{5000, admin}, {100, all}]}.
{access, local, [{allow, local}]}.
{access, c2s, [{deny, blocked},
{allow, all}]}.
{access, c2s_shaper, [{none, admin},
{normal, all}]}.
{access, s2s_shaper, [{fast, all}]}.
{access, announce, [{allow, admin}]}.
{access, configure, [{allow, admin}]}.
{access, muc_admin, [{allow, admin}]}.
{access, muc_admin, [{allow, mucadmins}]}.
{access, muc_create, [{allow, all}]}.
{access, muc, [{allow, all}]}.
{access, pubsub_createnode, [{allow, local}]}.
{language, "pt"}.
{modules,
[
{mod_adhoc, []},
{mod_announce, [{access, announce}]}, % recommends mod_adhoc
{mod_caps, []},
{mod_configure,[]}, % requires mod_adhoc
{mod_disco, []},
{mod_irc, []},
{mod_http_bind, []},
{mod_last, []},
{mod_muc, [
{host, "conference.@HOST@"},
{access, muc},
{access_create, muc_create},
{access_persistent, muc_create},
{access_admin, muc_admin}
]},
{mod_muc_log,[
{access_log, muc},
{cssfile, "http://domain.com/public/chatlog.css"},
{dirtype, plain},
{dirname, room_jid},
{outdir, "/var/www/nginx-default/chat/muclogs"},
{timezone, universal},
{spam_prevention, true},
{top_link, {"http://domain.com/chat/", "My Chat"}}
]},
{mod_muc_admin, []},
{mod_offline, []},
{mod_ping, []},
{mod_privacy, []},
{mod_private, []},
{mod_pubsub, [
{access_createnode, pubsub_createnode},
{ignore_pep_from_offline, true}, % reduces resource comsumption, but XEP incompliant
{last_item_cache, false},
{plugins, ["flat", "hometree", "pep"]} % pep requires mod_caps
]},
{mod_register, [
{welcome_message, {"Welcome!",
"Hi.\nWelcome to this XMPP server."}},
{access, register}
]},
{mod_roster, []},
{mod_shared_roster,[]},
{mod_stats, []},
{mod_time, []},
{mod_vcard, []},
{mod_shit, []},
{mod_version, []}
]}.