ejabberd-updated.yml 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  1. ###
  2. ### ejabberd configuration file
  3. ###
  4. ### The parameters used in this configuration file are explained at
  5. ###
  6. ### https://docs.ejabberd.im/admin/configuration
  7. ###
  8. ### The configuration file is written in YAML.
  9. ### *******************************************************
  10. ### ******* !!! WARNING !!! *******
  11. ### ******* YAML IS INDENTATION SENSITIVE *******
  12. ### ******* MAKE SURE YOU INDENT SECTIONS CORRECTLY *******
  13. ### *******************************************************
  14. ### Refer to http://en.wikipedia.org/wiki/YAML for the brief description.
  15. ###
  16. include_config_file:
  17. - /home/ejabberd/conf/conf.d/10-macros.yml
  18. - /home/ejabberd/conf/conf.d/15-log.yml
  19. - /home/ejabberd/conf/conf.d/20-hosts.yml
  20. - /home/ejabberd/conf/conf.d/50-stun-turn.yml
  21. certfiles:
  22. # - /home/ejabberd/conf/server.pem
  23. - /etc/ssl/ejabberd/*.pem
  24. #ca_file: "/home/ejabberd/conf/cacert.pem"
  25. listen:
  26. -
  27. port: 5222
  28. ip: "::"
  29. module: ejabberd_c2s
  30. max_stanza_size: 262144
  31. shaper: c2s_shaper
  32. access: c2s
  33. starttls_required: true
  34. -
  35. port: 5269
  36. ip: "::"
  37. module: ejabberd_s2s_in
  38. max_stanza_size: 524288
  39. -
  40. port: 5443
  41. ip: "::"
  42. module: ejabberd_http
  43. tls: true
  44. request_handlers:
  45. "/admin": ejabberd_web_admin
  46. "/api": mod_http_api
  47. "/bosh": mod_bosh
  48. "/captcha": ejabberd_captcha
  49. "/upload": mod_http_upload
  50. "/ws": ejabberd_http_ws
  51. "/oauth": ejabberd_oauth
  52. -
  53. port: 5280
  54. ip: "::"
  55. module: ejabberd_http
  56. request_handlers:
  57. "/admin": ejabberd_web_admin
  58. -
  59. module: ejabberd_http
  60. port: 8080
  61. tls: false
  62. request_handlers:
  63. /.well-known/acme-challenge: ejabberd_acme
  64. # -
  65. # port: 1883
  66. # ip: "::"
  67. # module: mod_mqtt
  68. # backlog: 1000
  69. ##
  70. ## https://docs.ejabberd.im/admin/configuration/#stun-and-turn
  71. ## ejabberd_stun: Handles STUN Binding requests
  72. ##
  73. ##-
  74. ## port: 3478
  75. ## ip: "0.0.0.0"
  76. ## transport: udp
  77. ## module: ejabberd_stun
  78. ## use_turn: true
  79. ## turn_ip: "{{ IP }}"
  80. ## auth_type: user
  81. ## auth_realm: "example.com"
  82. ##-
  83. ## port: 3478
  84. ## ip: "0.0.0.0"
  85. ## module: ejabberd_stun
  86. ## use_turn: true
  87. ## turn_ip: "{{ IP }}"
  88. ## auth_type: user
  89. ## auth_realm: "example.com"
  90. ##-
  91. ## port: 5349
  92. ## ip: "0.0.0.0"
  93. ## module: ejabberd_stun
  94. ## certfile: "/home/ejabberd/conf/server.pem"
  95. ## tls: true
  96. ## use_turn: true
  97. ## turn_ip: "{{ IP }}"
  98. ## auth_type: user
  99. ## auth_realm: "example.com"
  100. ##
  101. ## https://docs.ejabberd.im/admin/configuration/#sip
  102. ## To handle SIP (VOIP) requests:
  103. ##
  104. ##-
  105. ## port: 5060
  106. ## ip: "0.0.0.0"
  107. ## transport: udp
  108. ## module: ejabberd_sip
  109. ##-
  110. ## port: 5060
  111. ## ip: "0.0.0.0"
  112. ## module: ejabberd_sip
  113. ##-
  114. ## port: 5061
  115. ## ip: "0.0.0.0"
  116. ## module: ejabberd_sip
  117. ## tls: true
  118. s2s_use_starttls: optional
  119. acl:
  120. local:
  121. user_regexp: ""
  122. loopback:
  123. ip:
  124. - 127.0.0.0/8
  125. - ::1/128
  126. - ::FFFF:127.0.0.1/128
  127. admin:
  128. user:
  129. - "admin@localhost"
  130. access_rules:
  131. local:
  132. allow: local
  133. c2s:
  134. deny: blocked
  135. allow: all
  136. announce:
  137. allow: admin
  138. configure:
  139. allow: admin
  140. muc_create:
  141. allow: local
  142. pubsub_createnode:
  143. allow: local
  144. trusted_network:
  145. allow: loopback
  146. api_permissions:
  147. "console commands":
  148. from:
  149. - ejabberd_ctl
  150. who: all
  151. what: "*"
  152. "admin access":
  153. who:
  154. access:
  155. allow:
  156. acl: loopback
  157. acl: admin
  158. oauth:
  159. scope: "ejabberd:admin"
  160. access:
  161. allow:
  162. acl: loopback
  163. acl: admin
  164. what:
  165. - "*"
  166. - "!stop"
  167. - "!start"
  168. "public commands":
  169. who:
  170. ip: 127.0.0.1/8
  171. what:
  172. - status
  173. - connected_users_number
  174. shaper:
  175. normal:
  176. rate: 3000
  177. burst_size: 20000
  178. fast: 100000
  179. shaper_rules:
  180. max_user_sessions: 10
  181. max_user_offline_messages:
  182. 5000: admin
  183. 100: all
  184. c2s_shaper:
  185. none: admin
  186. normal: all
  187. s2s_shaper: fast
  188. acme:
  189. contact: "mailto:dcs-acme-vc.s-up.net@s-up.org"
  190. # ca_url: "https://acme-staging-v02.api.letsencrypt.org/directory"
  191. ca_url: "https://acme-staging-v02.api.letsencrypt.org/directory"
  192. modules:
  193. mod_adhoc: {}
  194. mod_admin_extra: {}
  195. mod_announce:
  196. access: announce
  197. mod_avatar: {}
  198. mod_blocking: {}
  199. mod_bosh: {}
  200. mod_caps: {}
  201. mod_carboncopy: {}
  202. mod_client_state: {}
  203. mod_configure: {}
  204. mod_disco: {}
  205. mod_fail2ban: {}
  206. mod_http_api: {}
  207. mod_http_upload:
  208. put_url: https://@HOST@:5443/upload
  209. mod_last: {}
  210. mod_mam:
  211. ## Mnesia is limited to 2GB, better to use an SQL backend
  212. ## For small servers SQLite is a good fit and is very easy
  213. ## to configure. Uncomment this when you have SQL configured:
  214. ## db_type: sql
  215. assume_mam_usage: true
  216. default: never
  217. mod_mqtt: {}
  218. mod_muc:
  219. access:
  220. - allow
  221. access_admin:
  222. - allow: admin
  223. access_create: muc_create
  224. access_persistent: muc_create
  225. access_mam:
  226. - allow
  227. default_room_options:
  228. allow_subscription: true # enable MucSub
  229. mam: false
  230. mod_muc_admin: {}
  231. mod_offline:
  232. access_max_user_messages: max_user_offline_messages
  233. mod_ping: {}
  234. mod_privacy: {}
  235. mod_private: {}
  236. mod_proxy65:
  237. access: local
  238. max_connections: 5
  239. mod_pubsub:
  240. access_createnode: pubsub_createnode
  241. plugins:
  242. - flat
  243. - pep
  244. force_node_config:
  245. ## Avoid buggy clients to make their bookmarks public
  246. storage:bookmarks:
  247. access_model: whitelist
  248. mod_push: {}
  249. mod_push_keepalive: {}
  250. mod_register:
  251. ## Only accept registration requests from the "trusted"
  252. ## network (see access_rules section above).
  253. ## Think twice before enabling registration from any
  254. ## address. See the Jabber SPAM Manifesto for details:
  255. ## https://github.com/ge0rg/jabber-spam-fighting-manifesto
  256. ip_access: trusted_network
  257. mod_roster:
  258. versioning: true
  259. mod_sip: {}
  260. mod_s2s_dialback: {}
  261. mod_shared_roster: {}
  262. mod_stream_mgmt:
  263. resend_on_timeout: if_offline
  264. mod_vcard: {}
  265. mod_vcard_xupdate: {}
  266. mod_version:
  267. show_os: false
  268. ### Local Variables:
  269. ### mode: yaml
  270. ### End:
  271. ### vim: set filetype=yaml tabstop=8