ejabberd-kuketz.yml 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330
  1. ###
  2. ###' ejabberd configuration file
  3. ###
  4. ###
  5. ### The parameters used in this configuration file are explained in more detail
  6. ### in the ejabberd Installation and Operation Guide.
  7. ### Please consult the Guide in case of doubts, it is included with
  8. ### your copy of ejabberd, and is also available online at
  9. ### https://docs.ejabberd.im/
  10. ---
  11. ###. =======
  12. ###' LOGGING
  13. loglevel: 3
  14. hide_sensitive_log_data: true
  15. log_rotate_size: 0
  16. log_rotate_date: ""
  17. log_rate_limit: 100
  18. ###. ================
  19. ###' SERVED HOSTNAMES
  20. hosts:
  21. - "kuketz-lab.de"
  22. ###. ============
  23. ###' Certificates
  24. certfiles:
  25. - "/etc/ejabberd/certs/kuketz-lab.pem"
  26. - "/etc/ejabberd/certs/kuketz-lab.key"
  27. ###. =================
  28. ###' TLS configuration
  29. define_macro:
  30. 'TLS_CIPHERS': "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256"
  31. 'TLS_OPTIONS':
  32. - "no_sslv3"
  33. - "no_tlsv1"
  34. - "no_tlsv1_1"
  35. - "cipher_server_preference"
  36. - "no_compression"
  37. c2s_ciphers: 'TLS_CIPHERS'
  38. s2s_ciphers: 'TLS_CIPHERS'
  39. c2s_protocol_options: 'TLS_OPTIONS'
  40. s2s_protocol_options: 'TLS_OPTIONS'
  41. ###. ===============
  42. ###' LISTENING PORTS
  43. listen:
  44. -
  45. port: 5222
  46. ip: "::"
  47. module: ejabberd_c2s
  48. starttls_required: true
  49. max_stanza_size: 65536
  50. shaper: c2s_shaper
  51. access: c2s
  52. -
  53. port: 5223
  54. ip: "::"
  55. module: ejabberd_c2s
  56. tls: true
  57. max_stanza_size: 65536
  58. shaper: c2s_shaper
  59. access: c2s
  60. -
  61. port: 5269
  62. ip: "::"
  63. module: ejabberd_s2s_in
  64. -
  65. port: 5270
  66. ip: "::"
  67. module: ejabberd_s2s_in
  68. tls: true
  69. -
  70. port: 5443
  71. ip: "::"
  72. module: ejabberd_http
  73. request_handlers:
  74. "/upload": mod_http_upload
  75. tls: true
  76. ciphers: 'TLS_CIPHERS'
  77. protocol_options: 'TLS_OPTIONS'
  78. disable_sasl_mechanisms:
  79. - "digest-md5"
  80. - "x-oauth2"
  81. ###. ==================
  82. ###' S2S GLOBAL OPTIONS
  83. s2s_use_starttls: required
  84. ###. ==============
  85. ###' AUTHENTICATION
  86. auth_method: internal
  87. auth_password_format: scram
  88. ###. ==============
  89. ###' DATABASE SETUP
  90. ###. ===============
  91. ###' TRAFFIC SHAPERS
  92. shaper:
  93. normal: 1000
  94. fast: 50000
  95. max_fsm_queue: 10000
  96. ###. ====================
  97. ###' ACCESS CONTROL LISTS
  98. acl:
  99. admin:
  100. user:
  101. - "admin": "kuketz-lab.de"
  102. local:
  103. user_regexp: ""
  104. loopback:
  105. ip:
  106. - "127.0.0.0/8"
  107. - "::1/128"
  108. - "::FFFF:127.0.0.1/128"
  109. ###. ============
  110. ###' SHAPER RULES
  111. shaper_rules:
  112. max_user_sessions: 10
  113. max_user_offline_messages:
  114. - 5000: admin
  115. - 500
  116. c2s_shaper:
  117. - none: admin
  118. - normal
  119. s2s_shaper: fast
  120. ###. ============
  121. ###' ACCESS RULES
  122. access_rules:
  123. local:
  124. - allow: local
  125. c2s:
  126. - deny: blocked
  127. - allow
  128. announce:
  129. - allow: admin
  130. configure:
  131. - allow: admin
  132. muc_create:
  133. - allow: local
  134. pubsub_createnode:
  135. - allow: local
  136. register:
  137. - allow
  138. trusted_network:
  139. - allow: local
  140. ## ===============
  141. ## API PERMISSIONS
  142. ## ===============
  143. api_permissions:
  144. "console commands":
  145. from:
  146. - ejabberd_ctl
  147. who: all
  148. what: "*"
  149. "admin access":
  150. who:
  151. - access:
  152. - allow:
  153. - acl: loopback
  154. - acl: admin
  155. - oauth:
  156. - scope: "ejabberd:admin"
  157. - access:
  158. - allow:
  159. - acl: loopback
  160. - acl: admin
  161. what:
  162. - "*"
  163. - "!stop"
  164. - "!start"
  165. "public commands":
  166. who:
  167. - ip: "127.0.0.1/8"
  168. what:
  169. - "status"
  170. - "connected_users_number"
  171. ###. ================
  172. ###' DEFAULT LANGUAGE
  173. language: "en"
  174. ###. =======
  175. ###' CAPTCHA
  176. captcha_cmd: "/usr/share/ejabberd/captcha.sh"
  177. captcha_limit: 5
  178. ###. ====
  179. ###' ACME
  180. acme:
  181. contact: "mailto:example-admin@example.com"
  182. ca_url: "https://acme-v01.api.letsencrypt.org"
  183. ###. =======
  184. ###' MODULES
  185. modules:
  186. mod_adhoc: {}
  187. mod_admin_extra: {}
  188. mod_announce:
  189. access: announce
  190. mod_block_strangers: {}
  191. mod_blocking: {}
  192. mod_caps: {}
  193. mod_carboncopy: {}
  194. mod_client_state: {}
  195. mod_configure: {}
  196. ## mod_delegation: {}
  197. mod_disco:
  198. server_info:
  199. -
  200. modules: all
  201. name: "abuse-addresses"
  202. urls:
  203. - "mailto:admin@kuketz-lab.de"
  204. -
  205. modules: all
  206. name: "support-addresses"
  207. urls:
  208. - "mailto:admin@kuketz-lab.de"
  209. -
  210. modules: all
  211. name: "admin-addresses"
  212. urls:
  213. - "mailto:admin@kuketz-lab.de"
  214. ## mod_echo: {}
  215. ## mod_bosh: {}
  216. ## mod_http_fileserver:
  217. mod_http_upload:
  218. put_url: "https://@HOST@:5443/upload"
  219. docroot: "@HOME@/upload"
  220. secret_length: 40
  221. mod_http_upload_quota:
  222. max_days: 30
  223. ## mod_last: {}
  224. mod_mam:
  225. assume_mam_usage: true
  226. default: always
  227. request_activates_archiving: true
  228. mod_muc:
  229. access:
  230. - allow
  231. access_admin:
  232. - allow: admin
  233. access_create: muc_create
  234. access_persistent: muc_create
  235. default_room_options:
  236. mam: true
  237. persistent: true
  238. public: false
  239. public_list: false
  240. mod_muc_admin: {}
  241. ## mod_muc_log: {}
  242. ## mod_multicast: {}
  243. mod_offline:
  244. access_max_user_messages: max_user_offline_messages
  245. mod_ping: {}
  246. mod_pres_counter:
  247. count: 16
  248. interval: 60
  249. mod_privacy: {}
  250. mod_private: {}
  251. mod_proxy65:
  252. max_connections: 5
  253. mod_pubsub:
  254. access_createnode: pubsub_createnode
  255. ignore_pep_from_offline: true
  256. last_item_cache: false
  257. plugins:
  258. - "flat"
  259. - "pep"
  260. force_node_config:
  261. "eu.siacs.conversations.axolotl.*":
  262. access_model: open
  263. "storage:bookmarks":
  264. access_model: whitelist
  265. mod_push: {}
  266. mod_push_keepalive: {}
  267. mod_register:
  268. captcha_protected: true
  269. password_strength: 64
  270. ip_access: all
  271. access: register
  272. mod_roster:
  273. versioning: true
  274. mod_shared_roster: {}
  275. mod_sic: {}
  276. mod_stats: {}
  277. mod_time: {}
  278. mod_vcard:
  279. search: false
  280. mod_vcard_xupdate: {}
  281. mod_avatar: {}
  282. mod_version:
  283. show_os: false
  284. mod_stream_mgmt:
  285. resend_on_timeout: if_offline
  286. mod_s2s_dialback: {}
  287. ## mod_http_api: {}
  288. mod_fail2ban: {}
  289. allow_contrib_modules: true