Advertisement
Guest User

ejabberd config

a guest
Apr 17th, 2018
1,273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.06 KB | None | 0 0
  1. ###
  2. ###' ejabberd configuration file
  3. ###
  4. ###
  5.  
  6. ### The parameters used in this configuration file are explained in more detail
  7. ### in the ejabberd Installation and Operation Guide.
  8. ### Please consult the Guide in case of doubts, it is included with
  9. ### your copy of ejabberd, and is also available online at
  10. ### http://www.process-one.net/en/ejabberd/docs/
  11.  
  12. ### The configuration file is written in YAML.
  13. ### Refer to http://en.wikipedia.org/wiki/YAML for the brief description.
  14. ### However, ejabberd treats different literals as different types:
  15. ###
  16. ### - unquoted or single-quoted strings. They are called "atoms".
  17. ### Example: dog, 'Jupiter', '3.14159', YELLOW
  18. ###
  19. ### - numeric literals. Example: 3, -45.0, .0
  20. ###
  21. ### - quoted or folded strings.
  22. ### Examples of quoted string: "Lizzard", "orange".
  23. ### Example of folded string:
  24. ### > Art thou not Romeo,
  25. ### and a Montague?
  26.  
  27. ###. =======
  28. ###' LOGGING
  29.  
  30. ##
  31. ## loglevel: Verbosity of log files generated by ejabberd.
  32. ## 0: No ejabberd log at all (not recommended)
  33. ## 1: Critical
  34. ## 2: Error
  35. ## 3: Warning
  36. ## 4: Info
  37. ## 5: Debug
  38. ##
  39. loglevel: 4
  40.  
  41. ##
  42. ## rotation: Describe how to rotate logs. Either size and/or date can trigger
  43. ## log rotation. Setting count to N keeps N rotated logs. Setting count to 0
  44. ## does not disable rotation, it instead rotates the file and keeps no previous
  45. ## versions around. Setting size to X rotate log when it reaches X bytes.
  46. ## To disable rotation set the size to 0 and the date to ""
  47. ## Date syntax is taken from the syntax newsyslog uses in newsyslog.conf.
  48. ## Some examples:
  49. ## $D0 rotate every night at midnight
  50. ## $D23 rotate every day at 23:00 hr
  51. ## $W0D23 rotate every week on Sunday at 23:00 hr
  52. ## $W5D16 rotate every week on Friday at 16:00 hr
  53. ## $M1D0 rotate on the first day of every month at midnight
  54. ## $M5D6 rotate on every 5th day of the month at 6:00 hr
  55. ##
  56. log_rotate_size: 10485760
  57. log_rotate_date: ""
  58. log_rotate_count: 1
  59.  
  60. ##
  61. ## overload protection: If you want to limit the number of messages per second
  62. ## allowed from error_logger, which is a good idea if you want to avoid a flood
  63. ## of messages when system is overloaded, you can set a limit.
  64. ## 100 is ejabberd's default.
  65. log_rate_limit: 100
  66.  
  67. ##
  68. ## watchdog_admins: Only useful for developers: if an ejabberd process
  69. ## consumes a lot of memory, send live notifications to these XMPP
  70. ## accounts.
  71. ##
  72. watchdog_admins:
  73. - "admin@xmpp.test"
  74.  
  75. ###. ===============
  76. ###' NODE PARAMETERS
  77.  
  78. ##
  79. ## net_ticktime: Specifies net_kernel tick time in seconds. This options must have
  80. ## identical value on all nodes, and in most cases shouldn't be changed at all from
  81. ## default value.
  82. ##
  83. ## net_ticktime: 60
  84.  
  85. ###. ================
  86. ###' SERVED HOSTNAMES
  87.  
  88. ##
  89. ## hosts: Domains served by ejabberd.
  90. ## You can define one or several, for example:
  91. ## hosts:
  92. ## - "example.net"
  93. ## - "example.com"
  94. ## - "example.org"
  95. ##
  96. hosts:
  97. - "xmpp.test"
  98.  
  99. ##
  100. ## route_subdomains: Delegate subdomains to other XMPP servers.
  101. ## For example, if this ejabberd serves example.org and you want
  102. ## to allow communication with an XMPP server called im.example.org.
  103. ##
  104. ## route_subdomains: s2s
  105.  
  106. ###. ============
  107. ###' Certificates
  108.  
  109. ## List all available PEM files containing certificates for your domains,
  110. ## chains of certificates or certificate keys. Full chains will be built
  111. ## automatically by ejabberd.
  112. ##
  113. certfiles:
  114. - "/etc/ssl/ejabberd/ejabberd.pem"
  115. ## - "/etc/letsencrypt/live/example.com/*.pem"
  116. ##
  117. ## If your system provides only a single CA file (CentOS/FreeBSD):
  118. ## ca_file: "/etc/ssl/certs/ca-bundle.pem"
  119.  
  120. ###. =================
  121. ###' TLS configuration
  122.  
  123. ## Note that the following configuration is the default
  124. ## configuration of the TLS driver, so you don't need to
  125. ## uncomment it.
  126. ##
  127. define_macro:
  128. '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"
  129. 'TLS_OPTIONS':
  130. - "no_sslv3"
  131. - "no_sslv2"
  132. - "no_tlsv1"
  133. - "no_tlsv1_1"
  134. ## - "cipher_server_preference"
  135. ## - "no_compression"
  136. 'DH_FILE': "/etc/ejabberd/dh2048.pem" # generated with: openssl dhparam -out dhparams.pem 2048
  137. ##
  138. c2s_dhfile: '/etc/ejabberd/dh2048.pem'
  139. s2s_dhfile: '/etc/ejabberd/dh2048.pem'
  140. c2s_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'
  141. s2s_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'
  142. c2s_protocol_options: 'no_sslv2, no_sslv3, no_tlsv1, no_tlsv1_1'
  143. s2s_protocol_options: 'no_sslv2, no_sslv3, no_tlsv1, no_tlsv1_1'
  144.  
  145. ###. ===============
  146. ###' LISTENING PORTS
  147.  
  148. ##
  149. ## listen: The ports ejabberd will listen on, which service each is handled
  150. ## by and what options to start it with.
  151. ##
  152. listen:
  153. -
  154. port: 5222
  155. ip: "::"
  156. module: ejabberd_c2s
  157. ##
  158. ## If TLS is compiled in and you installed a SSL
  159. ## certificate, uncomment this line:
  160. ##
  161. ##starttls: true
  162. ##
  163. ## To enforce TLS encryption for client connections,
  164. ## use this instead of the "starttls" option:
  165. ##
  166. starttls_required: true
  167. ##
  168. ## Stream compression
  169. ##
  170. ## zlib: true
  171. ##
  172. max_stanza_size: 65536
  173. shaper: c2s_shaper
  174. access: c2s
  175. -
  176. port: 5269
  177. ip: "::"
  178. module: ejabberd_s2s_in
  179. -
  180. port: 5280
  181. ip: "::"
  182. module: ejabberd_http
  183. request_handlers:
  184. "/ws": ejabberd_http_ws
  185. "/bosh": mod_bosh
  186. "/api": mod_http_api
  187. ## "/pub/archive": mod_http_fileserver
  188. web_admin: true
  189. ## register: true
  190. captcha: true
  191. ##
  192. ## Direct-TLS for C2S (XEP-0368). A good practice is to forward
  193. ## traffic from port 443 to this port, possibly multiplexing it
  194. ## with HTTP using e.g. sslh [https://wiki.xmpp.org/web/Tech_pages/XEP-0368],
  195. ## so modern clients can bypass restrictive firewalls (in airports, hotels, etc.).
  196. ##
  197. ## -
  198. ## port: 5223
  199. ## ip: "::"
  200. ## module: ejabberd_c2s
  201. ## tls: true
  202. ## max_stanza_size: 65536
  203. ## shaper: c2s_shaper
  204. ## access: c2s
  205.  
  206. ##
  207. ## ejabberd_service: Interact with external components (transports, ...)
  208. ##
  209. ## -
  210. ## port: 8888
  211. ## ip: "::"
  212. ## module: ejabberd_service
  213. ## access: all
  214. ## shaper_rule: fast
  215. ## ip: "127.0.0.1"
  216. ## privilege_access:
  217. ## roster: "both"
  218. ## message: "outgoing"
  219. ## presence: "roster"
  220. ## delegations:
  221. ## "urn:xmpp:mam:1":
  222. ## filtering: ["node"]
  223. ## "http://jabber.org/protocol/pubsub":
  224. ## filtering: []
  225. ## hosts:
  226. ## "icq.example.org":
  227. ## password: "secret"
  228. ## "sms.example.org":
  229. ## password: "secret"
  230.  
  231. ##
  232. ## ejabberd_stun: Handles STUN Binding requests
  233. ##
  234. ## -
  235. ## port: 3478
  236. ## transport: udp
  237. ## module: ejabberd_stun
  238.  
  239. ##
  240. ## To handle XML-RPC requests that provide admin credentials:
  241. ##
  242. ## -
  243. ## port: 4560
  244. ## ip: "::"
  245. ## module: ejabberd_xmlrpc
  246. ## maxsessions: 10
  247. ## timeout: 5000
  248. ## access_commands:
  249. ## admin:
  250. ## commands: all
  251. ## options: []
  252.  
  253. ##
  254. ## To enable secure http upload
  255. ##
  256. ## -
  257. ## port: 5444
  258. ## ip: "::"
  259. ## module: ejabberd_http
  260. ## request_handlers:
  261. ## "": mod_http_upload
  262. ## tls: true
  263. ## protocol_options: 'TLS_OPTIONS'
  264. ## dhfile: 'DH_FILE'
  265. ## ciphers: 'TLS_CIPHERS'
  266.  
  267. ## Disabling digest-md5 SASL authentication. digest-md5 requires plain-text
  268. ## password storage (see auth_password_format option).
  269. ## disable_sasl_mechanisms: "digest-md5"
  270.  
  271. ###. ==================
  272. ###' S2S GLOBAL OPTIONS
  273.  
  274. ##
  275. ## s2s_use_starttls: Enable STARTTLS for S2S connections.
  276. ## Allowed values are: false, optional or required
  277. ## You must specify 'certfiles' option
  278. ##
  279. s2s_use_starttls: required
  280.  
  281. ##
  282. ## S2S whitelist or blacklist
  283. ##
  284. ## Default s2s policy for undefined hosts.
  285. ##
  286. ## s2s_access: s2s
  287.  
  288. ##
  289. ## Outgoing S2S options
  290. ##
  291. ## Preferred address families (which to try first) and connect timeout
  292. ## in seconds.
  293. ##
  294. outgoing_s2s_families:
  295. - ipv4
  296. ## - ipv6
  297. ## outgoing_s2s_timeout: 190
  298.  
  299. ###. ==============
  300. ###' AUTHENTICATION
  301.  
  302. ##
  303. ## auth_method: Method used to authenticate the users.
  304. ## The default method is the internal.
  305. ## If you want to use a different method,
  306. ## comment this line and enable the correct ones.
  307. ##
  308. ## auth_method: internal
  309.  
  310. ##
  311. ## Store the plain passwords or hashed for SCRAM:
  312. auth_password_format: plain
  313. ## auth_password_format: scram
  314. ##
  315. ## Define the FQDN if ejabberd doesn't detect it:
  316. ## fqdn: "server3.example.com"
  317.  
  318. ##
  319. ## Authentication using external script
  320. ## Make sure the script is executable by ejabberd.
  321. ##
  322. ## auth_method: external
  323. ## extauth_program: "/path/to/authentication/script"
  324.  
  325. ##
  326. ## Authentication using SQL
  327. ## Remember to setup a database in the next section.
  328. ##
  329. auth_method: sql
  330.  
  331. ##
  332. ## Authentication using PAM
  333. ##
  334. ## auth_method: pam
  335. ## pam_service: "pamservicename"
  336.  
  337. ##
  338. ## Authentication using LDAP
  339. ##
  340. ## auth_method: ldap
  341. ##
  342. ## List of LDAP servers:
  343. ## ldap_servers:
  344. ## - "localhost"
  345. ##
  346. ## Encryption of connection to LDAP servers:
  347. ## ldap_encrypt: none
  348. ## ldap_encrypt: tls
  349. ##
  350. ## Port to connect to on LDAP servers:
  351. ## ldap_port: 389
  352. ## ldap_port: 636
  353. ##
  354. ## LDAP manager:
  355. ## ldap_rootdn: "dc=example,dc=com"
  356. ##
  357. ## Password of LDAP manager:
  358. ## ldap_password: "******"
  359. ##
  360. ## Search base of LDAP directory:
  361. ## ldap_base: "dc=example,dc=com"
  362. ##
  363. ## LDAP attribute that holds user ID:
  364. ## ldap_uids:
  365. ## - "mail": "%u@mail.example.org"
  366. ##
  367. ## LDAP filter:
  368. ## ldap_filter: "(objectClass=shadowAccount)"
  369.  
  370. ##
  371. ## Anonymous login support:
  372. ## auth_method: anonymous
  373. ## anonymous_protocol: sasl_anon | login_anon | both
  374. ## allow_multiple_connections: true | false
  375. ##
  376. ## host_config:
  377. ## "public.example.org":
  378. ## auth_method: anonymous
  379. ## allow_multiple_connections: false
  380. ## anonymous_protocol: sasl_anon
  381. ##
  382. ## To use both anonymous and internal authentication:
  383. ##
  384. ## host_config:
  385. ## "public.example.org":
  386. ## auth_method:
  387. ## - internal
  388. ## - anonymous
  389.  
  390. ###. ==============
  391. ###' DATABASE SETUP
  392.  
  393. ## ejabberd by default uses the internal Mnesia database,
  394. ## so you do not necessarily need this section.
  395. ## This section provides configuration examples in case
  396. ## you want to use other database backends.
  397. ## Please consult the ejabberd Guide for details on database creation.
  398.  
  399. ##
  400. ## MySQL server:
  401. ##
  402. sql_type: mysql
  403. sql_server: "localhost"
  404. sql_database: "ejabberdisawesome"
  405. sql_username: "ejabberdtestuser"
  406. sql_password: "testpassword"
  407. ##
  408. ## If you want to specify the port:
  409. ## sql_port: 1234
  410.  
  411. ##
  412. ## PostgreSQL server:
  413. ##
  414. ## sql_type: pgsql
  415. ## sql_server: "server"
  416. ## sql_database: "database"
  417. ## sql_username: "username"
  418. ## sql_password: "password"
  419. ##
  420. ## If you want to specify the port:
  421. ## sql_port: 1234
  422. ##
  423. ## If you use PostgreSQL, have a large database, and need a
  424. ## faster but inexact replacement for "select count(*) from users"
  425. ##
  426. ## pgsql_users_number_estimate: true
  427.  
  428. ##
  429. ## SQLite:
  430. ##
  431. ## sql_type: sqlite
  432. ## sql_database: "/path/to/database.db"
  433.  
  434. ##
  435. ## ODBC compatible or MSSQL server:
  436. ##
  437. ## sql_type: odbc
  438. ## sql_server: "DSN=ejabberd;UID=ejabberd;PWD=ejabberd"
  439.  
  440. ##
  441. ## Number of connections to open to the database for each virtual host
  442. ##
  443. ## sql_pool_size: 10
  444.  
  445. ##
  446. ## Interval to make a dummy SQL request to keep the connections to the
  447. ## database alive. Specify in seconds: for example 28800 means 8 hours
  448. ##
  449. ## sql_keepalive_interval: undefined
  450.  
  451. ##
  452. ## Use the new SQL schema
  453. ##
  454. new_sql_schema: true
  455.  
  456. ###. ===============
  457. ###' TRAFFIC SHAPERS
  458.  
  459. shaper:
  460. ##
  461. ## The "normal" shaper limits traffic speed to 1000 B/s
  462. ##
  463. normal: 1000
  464.  
  465. ##
  466. ## The "fast" shaper limits traffic speed to 50000 B/s
  467. ##
  468. fast: 50000
  469.  
  470. ##
  471. ## This option specifies the maximum number of elements in the queue
  472. ## of the FSM. Refer to the documentation for details.
  473. ##
  474. max_fsm_queue: 10000
  475.  
  476. ###. ====================
  477. ###' ACCESS CONTROL LISTS
  478. acl:
  479. ##
  480. ## The 'admin' ACL grants administrative privileges to XMPP accounts.
  481. ## You can put here as many accounts as you want.
  482. ##
  483. admin:
  484. user:
  485. - "admin@xmpp.test"
  486. ## - "ermine@example.org"
  487. ##
  488. ## Blocked users
  489. ##
  490. ## blocked:
  491. ## user:
  492. ## - "baduser@example.org"
  493. ## - "test"
  494.  
  495. ## Local users: don't modify this.
  496. ##
  497. local:
  498. user_regexp: ""
  499.  
  500. ##
  501. ## More examples of ACLs
  502. ##
  503. ## jabberorg:
  504. ## server:
  505. ## - "jabber.org"
  506. ## aleksey:
  507. ## user:
  508. ## - "aleksey@jabber.ru"
  509. ## test:
  510. ## user_regexp: "^test"
  511. ## user_glob: "test*"
  512.  
  513. ##
  514. ## Loopback network
  515. ##
  516. loopback:
  517. ip:
  518. - "127.0.0.0/8"
  519. - "::1/128"
  520. - "::FFFF:127.0.0.1/128"
  521.  
  522. ##
  523. ## Bad XMPP servers
  524. ##
  525. ## bad_servers:
  526. ## server:
  527. ## - "xmpp.zombie.org"
  528. ## - "xmpp.spam.com"
  529.  
  530. ##
  531. ## Define specific ACLs in a virtual host.
  532. ##
  533. ## host_config:
  534. ## "localhost":
  535. ## acl:
  536. ## admin:
  537. ## user:
  538. ## - "bob-local@localhost"
  539.  
  540. ###. ============
  541. ###' SHAPER RULES
  542.  
  543. shaper_rules:
  544. ## Maximum number of simultaneous sessions allowed for a single user:
  545. max_user_sessions: 10
  546. ## Maximum number of offline messages that users can have:
  547. max_user_offline_messages:
  548. - 5000: admin
  549. - 100
  550. ## For C2S connections, all users except admins use the "normal" shaper
  551. c2s_shaper:
  552. - none: admin
  553. - normal
  554. ## All S2S connections use the "fast" shaper
  555. s2s_shaper: fast
  556.  
  557. ###. ============
  558. ###' ACCESS RULES
  559. access_rules:
  560. ## This rule allows access only for local users:
  561. local:
  562. - allow: local
  563. ## Only non-blocked users can use c2s connections:
  564. c2s:
  565. - deny: blocked
  566. - allow
  567. ## Only admins can send announcement messages:
  568. announce:
  569. - allow: admin
  570. ## Only admins can use the configuration interface:
  571. configure:
  572. - allow: admin
  573. ## Only accounts of the local ejabberd server can create rooms:
  574. muc_create:
  575. - allow: local
  576. ## Only accounts on the local ejabberd server can create Pubsub nodes:
  577. pubsub_createnode:
  578. - allow: local
  579. ## In-band registration allows registration of any possible username.
  580. ## To disable in-band registration, replace 'allow' with 'deny'.
  581. register:
  582. - allow
  583. ## Only allow to register from localhost
  584. trusted_network:
  585. - allow: loopback
  586. ## Do not establish S2S connections with bad servers
  587. ## If you enable this you also have to uncomment "s2s_access: s2s"
  588. ## s2s:
  589. ## - deny:
  590. ## - ip: "XXX.XXX.XXX.XXX/32"
  591. ## - deny:
  592. ## - ip: "XXX.XXX.XXX.XXX/32"
  593. ## - allow
  594.  
  595. ## ===============
  596. ## API PERMISSIONS
  597. ## ===============
  598. ##
  599. ## This section allows you to define who and using what method
  600. ## can execute commands offered by ejabberd.
  601. ##
  602. ## By default "console commands" section allow executing all commands
  603. ## issued using ejabberdctl command, and "admin access" section allows
  604. ## users in admin acl that connect from 127.0.0.1 to execute all
  605. ## commands except start and stop with any available access method
  606. ## (ejabberdctl, http-api, xmlrpc depending what is enabled on server).
  607. ##
  608. ## If you remove "console commands" there will be one added by
  609. ## default allowing executing all commands, but if you just change
  610. ## permissions in it, version from config file will be used instead
  611. ## of default one.
  612. ##
  613. api_permissions:
  614. "console commands":
  615. from:
  616. - ejabberd_ctl
  617. who: all
  618. what: "*"
  619. "admin access":
  620. who:
  621. - access:
  622. - allow:
  623. - acl: loopback
  624. - acl: admin
  625. - oauth:
  626. - scope: "ejabberd:admin"
  627. - access:
  628. - allow:
  629. - acl: loopback
  630. - acl: admin
  631. what:
  632. - "*"
  633. - "!stop"
  634. - "!start"
  635. "public commands":
  636. who:
  637. - ip: "127.0.0.1/8"
  638. what:
  639. - "status"
  640. - "connected_users_number"
  641.  
  642. ## By default the frequency of account registrations from the same IP
  643. ## is limited to 1 account every 10 minutes. To disable, specify: infinity
  644. ## registration_timeout: 600
  645.  
  646. ##
  647. ## Define specific Access Rules in a virtual host.
  648. ##
  649. ## host_config:
  650. ## "localhost":
  651. ## access:
  652. ## c2s:
  653. ## - allow: admin
  654. ## - deny
  655. ## register:
  656. ## - deny
  657.  
  658. ###. ================
  659. ###' DEFAULT LANGUAGE
  660.  
  661. ##
  662. ## language: Default language used for server messages.
  663. ##
  664. language: "de"
  665.  
  666. ##
  667. ## Set a different default language in a virtual host.
  668. ##
  669. ## host_config:
  670. ## "localhost":
  671. ## language: "ru"
  672.  
  673. ###. =======
  674. ###' CAPTCHA
  675.  
  676. ##
  677. ## Full path to a script that generates the image.
  678. ##
  679. ## captcha_cmd: "/lib/ejabberd/priv/bin/captcha.sh"
  680.  
  681. ##
  682. ## Host for the URL and port where ejabberd listens for CAPTCHA requests.
  683. ##
  684. ## captcha_host: "example.org:5280"
  685.  
  686. ##
  687. ## Limit CAPTCHA calls per minute for JID/IP to avoid DoS.
  688. ##
  689. ## captcha_limit: 5
  690.  
  691. ###. ====
  692. ###' ACME
  693. ##
  694. ## In order to use the acme certificate acquiring through "Let's Encrypt"
  695. ## an http listener has to be configured to listen to port 80 so that
  696. ## the authorization challenges posed by "Let's Encrypt" can be solved.
  697. ##
  698. ## A simple way of doing this would be to add the following in the listening
  699. ## section and to configure port forwarding from 80 to 5280 either via NAT
  700. ## (for ipv4 only) or using frontends such as haproxy/nginx/sslh/etc.
  701. ## -
  702. ## port: 5280
  703. ## ip: "::"
  704. ## module: ejabberd_http
  705.  
  706. acme:
  707.  
  708. ## A contact mail that the ACME Certificate Authority can contact in case of
  709. ## an authorization issue, such as a server-initiated certificate revocation.
  710. ## It is not mandatory to provide an email address but it is highly suggested.
  711. contact: "mailto:example-admin@example.com"
  712.  
  713.  
  714. ## The ACME Certificate Authority URL.
  715. ## This could either be:
  716. ## - https://acme-v01.api.letsencrypt.org - (Default) for the production CA
  717. ## - https://acme-staging.api.letsencrypt.org - for the staging CA
  718. ## - http://localhost:4000 - for a local version of the CA
  719. ca_url: "https://acme-v01.api.letsencrypt.org"
  720.  
  721. ###. =======
  722. ###' MODULES
  723.  
  724. ##
  725. ## Modules enabled in all ejabberd virtual hosts.
  726. ##
  727. modules:
  728. mod_adhoc: {}
  729. mod_admin_extra: {}
  730. mod_announce: # recommends mod_adhoc
  731. access: announce
  732. mod_blocking: {} # requires mod_privacy
  733. mod_caps: {}
  734. mod_carboncopy: {}
  735. mod_client_state: {}
  736. mod_configure: {} # requires mod_adhoc
  737. ## mod_delegation: {} # for xep0356
  738. mod_disco: {}
  739. mod_echo: {}
  740. mod_irc: {}
  741. mod_bosh: {}
  742. ## mod_http_fileserver:
  743. ## docroot: "/var/www"
  744. ## accesslog: "/var/log/ejabberd/access.log"
  745. ## mod_http_upload:
  746. ## # docroot: "@HOME@/upload"
  747. ## put_url: "https://@HOST@:5444"
  748. ## thumbnail: false # otherwise needs ejabberd to be compiled with libgd support
  749. ## mod_http_upload_quota:
  750. ## max_days: 30
  751. mod_last: {}
  752. ## XEP-0313: Message Archive Management
  753. ## You might want to setup a SQL backend for MAM because the mnesia database is
  754. ## limited to 2GB which might be exceeded on large servers
  755. ## mod_mam: {} # for xep0313, mnesia is limited to 2GB, better use an SQL backend
  756. mod_muc:
  757. ## host: "conference.@HOST@"
  758. access:
  759. - allow
  760. access_admin:
  761. - allow: admin
  762. access_create: muc_create
  763. access_persistent: muc_create
  764. mod_muc_admin: {}
  765. ## mod_muc_log: {}
  766. ## mod_multicast: {}
  767. mod_offline:
  768. access_max_user_messages: max_user_offline_messages
  769. mod_ping: {}
  770. ## mod_pres_counter:
  771. ## count: 5
  772. ## interval: 60
  773. mod_privacy: {}
  774. mod_private: {}
  775. ## mod_proxy65: {}
  776. mod_pubsub:
  777. access_createnode: pubsub_createnode
  778. ## reduces resource comsumption, but XEP incompliant
  779. ignore_pep_from_offline: true
  780. ## XEP compliant, but increases resource comsumption
  781. ## ignore_pep_from_offline: false
  782. last_item_cache: false
  783. plugins:
  784. - "flat"
  785. - "hometree"
  786. - "pep" # pep requires mod_caps
  787. force_node_config:
  788. ## Avoid using OMEMO by default because it
  789. ## introduces a lot of hard-to-track problems
  790. "eu.siacs.conversations.axolotl.*":
  791. access_model: whitelist
  792. ## Avoid buggy clients to make their bookmarks public
  793. "storage:bookmarks":
  794. access_model: whitelist
  795. mod_push: {}
  796. mod_push_keepalive: {}
  797. ## mod_register:
  798. ##
  799. ## Protect In-Band account registrations with CAPTCHA.
  800. ##
  801. ## captcha_protected: true
  802. ##
  803. ## Set the minimum informational entropy for passwords.
  804. ##
  805. ## password_strength: 32
  806. ##
  807. ## After successful registration, the user receives
  808. ## a message with this subject and body.
  809. ##
  810. ## welcome_message:
  811. ## subject: "Welcome!"
  812. ## body: |-
  813. ## Hi.
  814. ## Welcome to this XMPP server.
  815. ##
  816. ## When a user registers, send a notification to
  817. ## these XMPP accounts.
  818. ##
  819. ## registration_watchers:
  820. ## - "admin1@example.org"
  821. ##
  822. ## Only clients in the server machine can register accounts
  823. ##
  824. ## ip_access: trusted_network
  825. ##
  826. ## Local c2s or remote s2s users cannot register accounts
  827. ##
  828. ## access_from: deny
  829. ## access: register
  830. mod_roster: {}
  831. mod_shared_roster: {}
  832. mod_stats: {}
  833. mod_time: {}
  834. mod_vcard:
  835. search: false
  836. mod_vcard_xupdate: {}
  837. mod_avatar: {}
  838. mod_version: {}
  839. mod_stream_mgmt: {}
  840. ## Non-SASL Authentication (XEP-0078) is now disabled by default
  841. ## because it's obsoleted and is used mostly by abandoned
  842. ## client software
  843. ## mod_legacy_auth: {}
  844. ## The module for S2S dialback (XEP-0220). Please note that you cannot
  845. ## rely solely on dialback if you want to federate with other servers,
  846. ## because a lot of servers have dialback disabled and instead rely on
  847. ## PKIX authentication. Make sure you have proper certificates installed
  848. ## and check your accessibility at https://check.messaging.one/
  849. mod_s2s_dialback: {}
  850. mod_http_api: {}
  851. mod_fail2ban: {}
  852.  
  853. ##
  854. ## Enable modules with custom options in a specific virtual host
  855. ##
  856. ## host_config:
  857. ## "localhost":
  858. ## modules:
  859. ## mod_echo:
  860. ## host: "mirror.localhost"
  861.  
  862. ##
  863. ## Enable modules management via ejabberdctl for installation and
  864. ## uninstallation of public/private contributed modules
  865. ## (enabled by default)
  866. ##
  867.  
  868. allow_contrib_modules: true
  869.  
  870. ###.
  871. ###'
  872. ### Local Variables:
  873. ### mode: yaml
  874. ### End:
  875. ### vim: set filetype=yaml tabstop=8 foldmarker=###',###. foldmethod=marker:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement