hosts: - "{{ XMPP_DOMAIN }}" loglevel: info listen: - port: 5222 ip: "::" module: ejabberd_c2s starttls: true starttls_required: true - port: 5269 ip: "::" module: ejabberd_s2s_in - port: 5280 ip: "::" module: ejabberd_http request_handlers: "/admin": ejabberd_web_admin "/api": mod_http_api "/.well-known/host-meta": mod_host_meta "/bosh": mod_bosh "/ws": ejabberd_http_ws {% if lookup('config', application_id, 'services.ldap.enabled') | bool %} auth_method: - ldap ldap_servers: - "{{ lookup('config', 'svc-db-openldap', 'services.openldap.name') }}" ldap_port: {{ lookup('config', 'svc-db-openldap', 'services.openldap.ports.local.ldap') }} ldap_rootdn: "{{ LDAP.DN.ADMINISTRATOR.DATA }}" ldap_password: "{{ LDAP.BIND_CREDENTIAL }}" ldap_base: "{{ LDAP.DN.OU.USERS }}" ldap_uids: ["uid"] ldap_filter: "(objectClass=inetOrgPerson)" {% else %} auth_method: - internal {% endif %} shaper: normal: 1000 fast: 50000 acl: admin: user: - "{{ lookup('users', 'administrator').username }}@{{ XMPP_DOMAIN }}" modules: mod_admin_extra: {} mod_adhoc: {} mod_announce: access: announce mod_bosh: {} mod_caps: {} mod_carboncopy: {} mod_client_state: {} mod_disco: {} mod_offline: {} mod_ping: {} mod_pubsub: access_createnode: pubsub_createnode mod_register: access: deny mod_roster: {} mod_stream_mgmt: {} mod_vcard: {}