240 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			240 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| loglevel: info
 | |
| 
 | |
| auth_method: [external]
 | |
| auth_use_cache: false
 | |
| extauth_program: /var/www/authentication/authenticator
 | |
| 
 | |
| include_config_file:
 | |
|   /ejabberd/ejabberd_api.yml
 | |
| 
 | |
| include_config_file:
 | |
|   /ejabberd/ejabberd_acl.yml
 | |
| 
 | |
| include_config_file:
 | |
|   /ejabberd/ejabberd_hosts.yml:
 | |
|     allow_only:
 | |
|       - hosts
 | |
| 
 | |
| include_config_file:
 | |
|   /ejabberd/ejabberd_macros.yml:
 | |
|     allow_only:
 | |
|       - define_macro
 | |
| 
 | |
| define_macro:
 | |
|   '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"
 | |
|   'TLS_OPTIONS':
 | |
|     - "no_sslv3"
 | |
|     - "no_tlsv1"
 | |
|     - "no_tlsv1_1"
 | |
|     - "cipher_server_preference"
 | |
|     - "no_compression"
 | |
| 
 | |
| c2s_ciphers: 'TLS_CIPHERS'
 | |
| s2s_ciphers: 'TLS_CIPHERS'
 | |
| c2s_protocol_options: 'TLS_OPTIONS'
 | |
| s2s_protocol_options: 'TLS_OPTIONS'
 | |
| s2s_use_starttls: required
 | |
| 
 | |
| new_sql_schema: true
 | |
| sql_type: sqlite
 | |
| sql_database: /sqlite/sqlite.db
 | |
| default_db: sql
 | |
| 
 | |
| certfiles:
 | |
|   - /ejabberd_ssl/cert.pem
 | |
|   - /ejabberd_ssl/key.pem
 | |
| 
 | |
| listen:
 | |
|   -
 | |
|     port: 5222
 | |
|     ip: "::"
 | |
|     module: ejabberd_c2s
 | |
|     max_stanza_size: 262144
 | |
|     shaper: c2s_shaper
 | |
|     access: c2s
 | |
|     starttls_required: true
 | |
|   -
 | |
|     port: 5269
 | |
|     ip: "::"
 | |
|     module: ejabberd_s2s_in
 | |
|     max_stanza_size: 524288
 | |
|   -
 | |
|     port: EJABBERD_HTTPS
 | |
|     ip: "::"
 | |
|     module: ejabberd_http
 | |
|     tls: true
 | |
|     request_handlers:
 | |
|       /captcha: ejabberd_captcha
 | |
|       /upload: mod_http_upload
 | |
|       /ws: ejabberd_http_ws
 | |
|   -
 | |
|     port: 5280
 | |
|     ip: "::"
 | |
|     module: ejabberd_http
 | |
|     request_handlers:
 | |
|       /api: mod_http_api
 | |
|   -
 | |
|     port: 5282
 | |
|     ip: "::"
 | |
|     module: ejabberd_http
 | |
|     request_handlers:
 | |
|       /xmpp: ejabberd_web_admin
 | |
|   -
 | |
|     module: ejabberd_http
 | |
|     port: 5281
 | |
|     ip: "::"
 | |
|     request_handlers:
 | |
|       /.well-known/acme-challenge: ejabberd_acme
 | |
|   -
 | |
|     port: 1883
 | |
|     ip: "::"
 | |
|     module: mod_mqtt
 | |
|     backlog: 1000
 | |
| 
 | |
| acme:
 | |
|   auto: true
 | |
| 
 | |
| acl:
 | |
|   admin:
 | |
|     user:
 | |
|       - "admin": "localhost"
 | |
|   local:
 | |
|     user_regexp: ""
 | |
|   loopback:
 | |
|     ip:
 | |
|       - 127.0.0.0/8
 | |
|       - ::1/128
 | |
| 
 | |
| access_rules:
 | |
|   local:
 | |
|     allow: local
 | |
|   c2s:
 | |
|     deny: blocked
 | |
|     allow: all
 | |
|   announce:
 | |
|     allow: admin
 | |
|   configure:
 | |
|     allow: admin
 | |
|   muc_create:
 | |
|     allow: local
 | |
|   pubsub_createnode:
 | |
|     allow: local
 | |
|   trusted_network:
 | |
|     allow: loopback
 | |
| 
 | |
| api_permissions:
 | |
|   "console commands":
 | |
|     from:
 | |
|       - ejabberd_ctl
 | |
|     who: all
 | |
|     what: "*"
 | |
|   "admin access":
 | |
|     who:
 | |
|       access:
 | |
|         allow:
 | |
|           - acl: loopback
 | |
|           - acl: admin
 | |
|     what:
 | |
|       - "*"
 | |
|       - "!stop"
 | |
|       - "!start"
 | |
| 
 | |
| shaper:
 | |
|   normal:
 | |
|     rate: 3000
 | |
|     burst_size: 20000
 | |
|   fast: 100000
 | |
| 
 | |
| shaper_rules:
 | |
|   max_user_sessions: 10
 | |
|   max_user_offline_messages:
 | |
|     1000: admin
 | |
|     1000: all
 | |
|   c2s_shaper:
 | |
|     none: admin
 | |
|     normal: all
 | |
|   s2s_shaper: fast
 | |
| 
 | |
| modules:
 | |
|   mod_adhoc: {}
 | |
|   mod_admin_extra: {}
 | |
|   mod_announce:
 | |
|     access: announce
 | |
|   mod_avatar: {}
 | |
|   mod_blocking: {}
 | |
|   mod_caps: {}
 | |
|   mod_carboncopy: {}
 | |
|   mod_client_state: {}
 | |
|   mod_configure: {}
 | |
|   mod_disco: {}
 | |
|   mod_fail2ban: {}
 | |
|   mod_http_api: {}
 | |
|   mod_http_upload_quota:
 | |
|     max_days: 30
 | |
|   mod_http_upload:
 | |
|     docroot: /var/www/upload
 | |
|     custom_headers:
 | |
|       "Access-Control-Allow-Origin": "https://@HOST@"
 | |
|       "Access-Control-Allow-Methods": "GET,HEAD,PUT,OPTIONS"
 | |
|       "Access-Control-Allow-Headers": "Content-Type"
 | |
|     thumbnail: true
 | |
|     jid_in_url: node
 | |
|     file_mode: "0600"
 | |
|     dir_mode: "0700"
 | |
|   mod_last: {}
 | |
|   mod_mam:
 | |
|     clear_archive_on_room_destroy: true
 | |
|     default: never
 | |
|     compress_xml: true
 | |
|     request_activates_archiving: true
 | |
|   mod_mqtt: {}
 | |
|   mod_muc:
 | |
|     access:
 | |
|       - allow
 | |
|     access_admin:
 | |
|       - allow: admin
 | |
|     access_create: muc_create
 | |
|     access_persistent: muc_create
 | |
|     access_mam:
 | |
|       - allow
 | |
|     default_room_options:
 | |
|       mam: false
 | |
|       persistent: false
 | |
|   mod_muc_admin: {}
 | |
|   mod_offline:
 | |
|     access_max_user_messages: max_user_offline_messages
 | |
|   mod_ping: {}
 | |
|   mod_privacy: {}
 | |
|   mod_private: {}
 | |
|   mod_proxy65:
 | |
|     access: local
 | |
|     max_connections: 5
 | |
|   mod_pubsub:
 | |
|     access_createnode: pubsub_createnode
 | |
|     plugins:
 | |
|       - flat
 | |
|       - pep
 | |
|     force_node_config:
 | |
|       ## Avoid buggy clients to make their bookmarks public
 | |
|       storage:bookmarks:
 | |
|         access_model: whitelist
 | |
|   mod_push: {}
 | |
|   mod_push_keepalive: {}
 | |
|   mod_register:
 | |
|     ## Only accept registration requests from the "trusted"
 | |
|     ## network (see access_rules section above).
 | |
|     ## Think twice before enabling registration from any
 | |
|     ## address. See the Jabber SPAM Manifesto for details:
 | |
|     ## https://github.com/ge0rg/jabber-spam-fighting-manifesto
 | |
|     ip_access: trusted_network
 | |
|   mod_roster:
 | |
|     versioning: true
 | |
|   mod_s2s_dialback: {}
 | |
|   mod_stream_mgmt:
 | |
|     resend_on_timeout: if_offline
 | |
|   mod_stun_disco: {}
 | |
|   mod_vcard: {}
 | |
|   mod_vcard_xupdate: {}
 | |
|   mod_version:
 | |
|     show_os: false
 |