diff options
Diffstat (limited to 'docs/installation_1/pleroma-mongooseim.cfg')
| -rwxr-xr-x | docs/installation_1/pleroma-mongooseim.cfg | 936 |
1 files changed, 0 insertions, 936 deletions
diff --git a/docs/installation_1/pleroma-mongooseim.cfg b/docs/installation_1/pleroma-mongooseim.cfg deleted file mode 100755 index 3ecba56..0000000 --- a/docs/installation_1/pleroma-mongooseim.cfg +++ /dev/null @@ -1,936 +0,0 @@ -%%% -%%% ejabberd configuration file -%%% -%%%' - -%%% The parameters used in this configuration file are explained in more detail -%%% in the ejabberd Installation and Operation Guide. -%%% Please consult the Guide in case of doubts, it is included with -%%% your copy of ejabberd, and is also available online at -%%% http://www.process-one.net/en/ejabberd/docs/ - -%%% This configuration file contains Erlang terms. -%%% In case you want to understand the syntax, here are the concepts: -%%% -%%% - The character to comment a line is % -%%% -%%% - Each term ends in a dot, for example: -%%% override_global. -%%% -%%% - A tuple has a fixed definition, its elements are -%%% enclosed in {}, and separated with commas: -%%% {loglevel, 4}. -%%% -%%% - A list can have as many elements as you want, -%%% and is enclosed in [], for example: -%%% [http_poll, web_admin, tls] -%%% -%%% Pay attention that list elements are delimited with commas, -%%% but no comma is allowed after the last list element. This will -%%% give a syntax error unlike in more lenient languages (e.g. Python). -%%% -%%% - A keyword of ejabberd is a word in lowercase. -%%% Strings are enclosed in "" and can contain spaces, dots, ... -%%% {language, "en"}. -%%% {ldap_rootdn, "dc=example,dc=com"}. -%%% -%%% - This term includes a tuple, a keyword, a list, and two strings: -%%% {hosts, ["jabber.example.net", "im.example.com"]}. -%%% -%%% - This config is preprocessed during release generation by a tool which -%%% interprets double curly braces as substitution markers, so avoid this -%%% syntax in this file (though it's valid Erlang). -%%% -%%% So this is OK (though arguably looks quite ugly): -%%% { {s2s_addr, "example-host.net"}, {127,0,0,1} }. -%%% -%%% And I can't give an example of what's not OK exactly because -%%% of this rule. -%%% - - -%%%. ======================= -%%%' OVERRIDE STORED OPTIONS - -%% -%% Override the old values stored in the database. -%% - -%% -%% Override global options (shared by all ejabberd nodes in a cluster). -%% -%%override_global. - -%% -%% Override local options (specific for this particular ejabberd node). -%% -%%override_local. - -%% -%% Remove the Access Control Lists before new ones are added. -%% -%%override_acls. - - -%%%. ========= -%%%' DEBUGGING - -%% -%% loglevel: Verbosity of log files generated by ejabberd. -%% 0: No ejabberd log at all (not recommended) -%% 1: Critical -%% 2: Error -%% 3: Warning -%% 4: Info -%% 5: Debug -%% -{loglevel, 3}. - -%%%. ================ -%%%' SERVED HOSTNAMES - -%% -%% hosts: Domains served by ejabberd. -%% You can define one or several, for example: -%% {hosts, ["example.net", "example.com", "example.org"]}. -%% -{hosts, ["pleroma.soykaf.com"] }. - -%% -%% route_subdomains: Delegate subdomains to other XMPP servers. -%% For example, if this ejabberd serves example.org and you want -%% to allow communication with an XMPP server called im.example.org. -%% -%%{route_subdomains, s2s}. - - -%%%. =============== -%%%' LISTENING PORTS - -%% -%% listen: The ports ejabberd will listen on, which service each is handled -%% by and what options to start it with. -%% -{listen, - [ - %% BOSH and WS endpoints over HTTP - { 5280, ejabberd_cowboy, [ - {num_acceptors, 10}, - {transport_options, [{max_connections, 1024}]}, - {modules, [ - - {"_", "/http-bind", mod_bosh}, - {"_", "/ws-xmpp", mod_websockets, [{ejabberd_service, [ - {access, all}, - {shaper_rule, fast}, - {ip, {127, 0, 0, 1}}, - {password, "secret"}]} - %% Uncomment to enable connection dropping or/and server-side pings - %{timeout, 600000}, {ping_rate, 2000} - ]} - %% Uncomment to serve static files - %{"_", "/static/[...]", cowboy_static, - % {dir, "/var/www", [{mimetypes, cow_mimetypes, all}]} - %}, - - %% Example usage of mod_revproxy - - %% {"_", "/[...]", mod_revproxy, [{timeout, 5000}, - %% % time limit for upstream to respond - %% {body_length, 8000000}, - %% % maximum body size (may be infinity) - %% {custom_headers, [{<<"header">>,<<"value">>}]} - %% % list of extra headers that are send to upstream - %% ]} - - %% Example usage of mod_cowboy - - %% {"_", "/[...]", mod_cowboy, [{http, mod_revproxy, - %% [{timeout, 5000}, - %% % time limit for upstream to respond - %% {body_length, 8000000}, - %% % maximum body size (may be infinity) - %% {custom_headers, [{<<"header">>,<<"value">>}]} - %% % list of extra headers that are send to upstream - %% ]}, - %% {ws, xmpp, mod_websockets} - %% ]} - ]} - ]}, - - %% BOSH and WS endpoints over HTTPS - { 5285, ejabberd_cowboy, [ - {num_acceptors, 10}, - {transport_options, [{max_connections, 1024}]}, - {ssl, [{certfile, "priv/ssl/fullchain.pem"}, {keyfile, "priv/ssl/privkey.pem"}, {password, ""}]}, - {modules, [ - {"_", "/http-bind", mod_bosh}, - {"_", "/ws-xmpp", mod_websockets, [ - %% Uncomment to enable connection dropping or/and server-side pings - %{timeout, 600000}, {ping_rate, 60000} - ]} - %% Uncomment to serve static files - %{"_", "/static/[...]", cowboy_static, - % {dir, "/var/www", [{mimetypes, cow_mimetypes, all}]} - %}, - ]} - ]}, - - %% MongooseIM HTTP API it's important to start it on localhost - %% or some private interface only (not accessible from the outside) - %% At least start it on different port which will be hidden behind firewall - - { {8088, "127.0.0.1"} , ejabberd_cowboy, [ - {num_acceptors, 10}, - {transport_options, [{max_connections, 1024}]}, - {modules, [ - {"localhost", "/api", mongoose_api_admin, []} - ]} - ]}, - - { 8089 , ejabberd_cowboy, [ - {num_acceptors, 10}, - {transport_options, [{max_connections, 1024}]}, - {protocol_options, [{compress, true}]}, - {ssl, [{certfile, "priv/ssl/fullchain.pem"}, {keyfile, "priv/ssl/privkey.pem"}, {password, ""}]}, - {modules, [ - {"_", "/api/sse", lasse_handler, [mongoose_client_api_sse]}, - {"_", "/api/messages/[:with]", mongoose_client_api_messages, []}, - {"_", "/api/contacts/[:jid]", mongoose_client_api_contacts, []}, - {"_", "/api/rooms/[:id]", mongoose_client_api_rooms, []}, - {"_", "/api/rooms/[:id]/config", mongoose_client_api_rooms_config, []}, - {"_", "/api/rooms/:id/users/[:user]", mongoose_client_api_rooms_users, []}, - {"_", "/api/rooms/[:id]/messages", mongoose_client_api_rooms_messages, []} - ]} - ]}, - - %% Following HTTP API is deprected, the new one abouve should be used instead - - { {5288, "127.0.0.1"} , ejabberd_cowboy, [ - {num_acceptors, 10}, - {transport_options, [{max_connections, 1024}]}, - {modules, [ - {"localhost", "/api", mongoose_api, [{handlers, [mongoose_api_metrics, - mongoose_api_users]}]} - ]} - ]}, - - %% If you want dual stack, you have to clone this entire config stanza - %% and change the bind to "::" - { {5222, "0.0.0.0"}, ejabberd_c2s, [ - - %% - %% If TLS is compiled in and you installed a SSL - %% certificate, specify the full path to the - %% file and uncomment this line: - %% - {certfile, "priv/ssl/both.pem"}, starttls, - - %%{zlib, 10000}, - %% https://www.openssl.org/docs/apps/ciphers.html#CIPHER_STRINGS - %% {ciphers, "DEFAULT:!EXPORT:!LOW:!SSLv2"}, - {access, c2s}, - {shaper, c2s_shaper}, - {max_stanza_size, 65536}, - {protocol_options, ["no_sslv3"]} - - ]}, - - - - %% - %% To enable the old SSL connection method on port 5223: - %% - %%{5223, ejabberd_c2s, [ - %% {access, c2s}, - %% {shaper, c2s_shaper}, - %% {certfile, "/path/to/ssl.pem"}, tls, - %% {max_stanza_size, 65536} - %% ]}, - - %% If you want dual stack, you have to clone this entire config stanza - %% and change the bind to "::" - { {5269, "0.0.0.0"}, ejabberd_s2s_in, [ - {shaper, s2s_shaper}, - {max_stanza_size, 131072}, - {protocol_options, ["no_sslv3"]} - - ]} - - %% - %% ejabberd_service: Interact with external components (transports, ...) - %% - ,{8888, ejabberd_service, [ - {access, all}, - {shaper_rule, fast}, - {ip, {127, 0, 0, 1}}, - {password, "secret"} - ]} - - %% - %% ejabberd_stun: Handles STUN Binding requests - %% - %%{ {3478, udp}, ejabberd_stun, []} - - ]}. - -%% -%% s2s_use_starttls: Enable STARTTLS + Dialback for S2S connections. -%% Allowed values are: false optional required required_trusted -%% You must specify a certificate file. -%% -{s2s_use_starttls, optional}. -%% -%% s2s_certfile: Specify a certificate file. -%% -{s2s_certfile, "priv/ssl/both.pem"}. - -%% https://www.openssl.org/docs/apps/ciphers.html#CIPHER_STRINGS -%% {s2s_ciphers, "DEFAULT:!EXPORT:!LOW:!SSLv2"}. - -%% -%% domain_certfile: Specify a different certificate for each served hostname. -%% -%%{domain_certfile, "example.org", "/path/to/example_org.pem"}. -%%{domain_certfile, "example.com", "/path/to/example_com.pem"}. - -%% -%% S2S whitelist or blacklist -%% -%% Default s2s policy for undefined hosts. -%% -{s2s_default_policy, deny }. - -%% -%% Allow or deny communication with specific servers. -%% -%%{ {s2s_host, "goodhost.org"}, allow}. -%%{ {s2s_host, "badhost.org"}, deny}. - -{outgoing_s2s_port, 5269 }. - -%% -%% IP addresses predefined for specific hosts to skip DNS lookups. -%% Ports defined here take precedence over outgoing_s2s_port. -%% Examples: -%% -%% { {s2s_addr, "example-host.net"}, {127,0,0,1} }. -%% { {s2s_addr, "example-host.net"}, { {127,0,0,1}, 5269 } }. -%% { {s2s_addr, "example-host.net"}, { {127,0,0,1}, 5269 } }. - -%% -%% Outgoing S2S options -%% -%% Preferred address families (which to try first) and connect timeout -%% in milliseconds. -%% -%%{outgoing_s2s_options, [ipv4, ipv6], 10000}. -%% -%%%. ============== -%%%' SESSION BACKEND - -%%{sm_backend, {mnesia, []}}. - -%% Requires {redis, global, default, ..., ...} outgoing pool -%%{sm_backend, {redis, []}}. - -{sm_backend, {mnesia, []} }. - - -%%%. ============== -%%%' AUTHENTICATION - -%% Advertised SASL mechanisms -{sasl_mechanisms, [cyrsasl_plain]}. - -%% -%% auth_method: Method used to authenticate the users. -%% The default method is the internal. -%% If you want to use a different method, -%% comment this line and enable the correct ones. -%% -%% {auth_method, internal }. -{auth_method, http }. -{auth_opts, [ - {http, global, auth, [{workers, 50}], [{server, "https://pleroma.soykaf.com"}]}, - {password_format, plain} % default - %% {password_format, scram} - - %% {scram_iterations, 4096} % default - - %% - %% For auth_http: - %% {basic_auth, "user:password"} - %% {path_prefix, "/"} % default - %% auth_http requires {http, Host | global, auth, ..., ...} outgoing pool. - %% - %% For auth_external - %%{extauth_program, "/path/to/authentication/script"}. - %% - %% For auth_jwt - %% {jwt_secret_source, "/path/to/file"}, - %% {jwt_algorithm, "RS256"}, - %% {jwt_username_key, user} - %% For cyrsasl_external - %% {authenticate_with_cn, false} - {cyrsasl_external, standard} - ]}. - -%% -%% Authentication using external script -%% Make sure the script is executable by ejabberd. -%% -%%{auth_method, external}. - -%% -%% Authentication using RDBMS -%% Remember to setup a database in the next section. -%% -%%{auth_method, rdbms}. - -%% -%% Authentication using LDAP -%% -%%{auth_method, ldap}. -%% - -%% List of LDAP servers: -%%{ldap_servers, ["localhost"]}. -%% -%% Encryption of connection to LDAP servers: -%%{ldap_encrypt, none}. -%%{ldap_encrypt, tls}. -%% -%% Port to connect to on LDAP servers: -%%{ldap_port, 389}. -%%{ldap_port, 636}. -%% -%% LDAP manager: -%%{ldap_rootdn, "dc=example,dc=com"}. -%% -%% Password of LDAP manager: -%%{ldap_password, "******"}. -%% -%% Search base of LDAP directory: -%%{ldap_base, "dc=example,dc=com"}. -%% -%% LDAP attribute that holds user ID: -%%{ldap_uids, [{"mail", "%u@mail.example.org"}]}. -%% -%% LDAP filter: -%%{ldap_filter, "(objectClass=shadowAccount)"}. - -%% -%% Anonymous login support: -%% auth_method: anonymous -%% anonymous_protocol: sasl_anon | login_anon | both -%% allow_multiple_connections: true | false -%% -%%{host_config, "public.example.org", [{auth_method, anonymous}, -%% {allow_multiple_connections, false}, -%% {anonymous_protocol, sasl_anon}]}. -%% -%% To use both anonymous and internal authentication: -%% -%%{host_config, "public.example.org", [{auth_method, [internal, anonymous]}]}. - - -%%%. ============== -%%%' OUTGOING CONNECTIONS (e.g. DB) - -%% Here you may configure all outgoing connections used by MongooseIM, -%% e.g. to RDBMS (such as MySQL), Riak or external HTTP components. -%% Default MongooseIM configuration uses only Mnesia (non-Mnesia extensions are disabled), -%% so no options here are uncommented out of the box. -%% This section includes configuration examples; for comprehensive guide -%% please consult MongooseIM documentation, page "Outgoing connections": -%% - doc/advanced-configuration/outgoing-connections.md -%% - https://mongooseim.readthedocs.io/en/latest/advanced-configuration/outgoing-connections/ - - -{outgoing_pools, [ -% {riak, global, default, [{workers, 5}], [{address, "127.0.0.1"}, {port, 8087}]}, -% {elastic, global, default, [], [{host, "elastic.host.com"}, {port, 9042}]}, - {http, global, auth, [{workers, 50}], [{server, "https://pleroma.soykaf.com"}]} -% {cassandra, global, default, [{workers, 100}], [{servers, [{"server1", 9042}]}, {keyspace, "big_mongooseim"}]}, -% {rdbms, global, default, [{workers, 10}], [{server, {mysql, "server", 3306, "database", "username", "password"}}]} -]}. - -%% More examples that may be added to outgoing_pools list: -%% -%% == MySQL == -%% {rdbms, global, default, [{workers, 10}], -%% [{server, {mysql, "server", 3306, "database", "username", "password"}}, -%% {keepalive_interval, 10}]}, -%% keepalive_interval is optional - -%% == PostgreSQL == -%% {rdbms, global, default, [{workers, 10}], -%% [{server, {pgsql, "server", "port", "database", "username", "password"}}]}, - -%% == ODBC (MSSQL) == -%% {rdbms, global, default, [{workers, 10}], -%% [{server, "DSN=mongooseim;UID=mongooseim;PWD=mongooseim"}]}, - -%% == Elastic Search == -%% {elastic, global, default, [], [{host, "elastic.host.com"}, {port, 9042}]}, - -%% == Riak == -%% {riak, global, default, [{workers, 20}], [{address, "127.0.0.1"}, {port, 8087}]}, - -%% == HTTP == -%% {http, global, conn1, [{workers, 50}], [{server, "http://server:8080"}]}, - -%% == Cassandra == -%% {cassandra, global, default, [{workers, 100}], -%% [ -%% {servers, [ -%% {"cassandra_server1.example.com", 9042}, -%% {"cassandra_server2.example.com", 9042}, -%% {"cassandra_server3.example.com", 9042}, -%% {"cassandra_server4.example.com", 9042} -%% ]}, -%% {keyspace, "big_mongooseim"} -%% ]} - -%% == Extra options == -%% -%% If you use PostgreSQL, have a large database, and need a -%% faster but inexact replacement for "select count(*) from users" -%% -%%{pgsql_users_number_estimate, true}. -%% -%% rdbms_server_type specifies what database is used over the RDBMS layer -%% Can take values mssql, pgsql, mysql -%% In some cases (for example for MAM with pgsql) it is required to set proper value. -%% -%% {rdbms_server_type, pgsql}. - -%%%. =============== -%%%' TRAFFIC SHAPERS - -%% -%% The "normal" shaper limits traffic speed to 1000 B/s -%% -{shaper, normal, {maxrate, 1000}}. - -%% -%% The "fast" shaper limits traffic speed to 50000 B/s -%% -{shaper, fast, {maxrate, 50000}}. - -%% -%% This option specifies the maximum number of elements in the queue -%% of the FSM. Refer to the documentation for details. -%% -{max_fsm_queue, 1000}. - -%%%. ==================== -%%%' ACCESS CONTROL LISTS - -%% -%% The 'admin' ACL grants administrative privileges to XMPP accounts. -%% You can put here as many accounts as you want. -%% -%{acl, admin, {user, "alice", "localhost"}}. -%{acl, admin, {user, "a", "localhost"}}. - -%% -%% Blocked users -%% -%%{acl, blocked, {user, "baduser", "example.org"}}. -%%{acl, blocked, {user, "test"}}. - -%% -%% Local users: don't modify this line. -%% -{acl, local, {user_regexp, ""}}. - -%% -%% More examples of ACLs -%% -%%{acl, jabberorg, {server, "jabber.org"}}. -%%{acl, aleksey, {user, "aleksey", "jabber.ru"}}. -%%{acl, test, {user_regexp, "^test"}}. -%%{acl, test, {user_glob, "test*"}}. - -%% -%% Define specific ACLs in a virtual host. -%% -%%{host_config, "localhost", -%% [ -%% {acl, admin, {user, "bob-local", "localhost"}} -%% ] -%%}. - -%%%. ============ -%%%' ACCESS RULES - -%% Maximum number of simultaneous sessions allowed for a single user: -{access, max_user_sessions, [{10, all}]}. - -%% Maximum number of offline messages that users can have: -{access, max_user_offline_messages, [{5000, admin}, {100, all}]}. - -%% This rule allows access only for local users: -{access, local, [{allow, local}]}. - -%% Only non-blocked users can use c2s connections: -{access, c2s, [{deny, blocked}, - {allow, all}]}. - -%% For C2S connections, all users except admins use the "normal" shaper -{access, c2s_shaper, [{none, admin}, - {normal, all}]}. - -%% All S2S connections use the "fast" shaper -{access, s2s_shaper, [{fast, all}]}. - -%% Admins of this server are also admins of the MUC service: -{access, muc_admin, [{allow, admin}]}. - -%% Only accounts of the local ejabberd server can create rooms: -{access, muc_create, [{allow, local}]}. - -%% All users are allowed to use the MUC service: -{access, muc, [{allow, all}]}. - -%% In-band registration allows registration of any possible username. -%% To disable in-band registration, replace 'allow' with 'deny'. -{access, register, [{allow, all}]}. - -%% By default the frequency of account registrations from the same IP -%% is limited to 1 account every 10 minutes. To disable, specify: infinity -{registration_timeout, infinity}. - -%% Default settings for MAM. -%% To set non-standard value, replace 'default' with 'allow' or 'deny'. -%% Only user can access his/her archive by default. -%% An online user can read room's archive by default. -%% Only an owner can change settings and purge messages by default. -%% Empty list (i.e. `[]`) means `[{deny, all}]`. -{access, mam_set_prefs, [{default, all}]}. -{access, mam_get_prefs, [{default, all}]}. -{access, mam_lookup_messages, [{default, all}]}. -{access, mam_purge_single_message, [{default, all}]}. -{access, mam_purge_multiple_messages, [{default, all}]}. - -%% 1 command of the specified type per second. -{shaper, mam_shaper, {maxrate, 1}}. -%% This shaper is primeraly for Mnesia overload protection during stress testing. -%% The limit is 1000 operations of each type per second. -{shaper, mam_global_shaper, {maxrate, 1000}}. - -{access, mam_set_prefs_shaper, [{mam_shaper, all}]}. -{access, mam_get_prefs_shaper, [{mam_shaper, all}]}. -{access, mam_lookup_messages_shaper, [{mam_shaper, all}]}. -{access, mam_purge_single_message_shaper, [{mam_shaper, all}]}. -{access, mam_purge_multiple_messages_shaper, [{mam_shaper, all}]}. - -{access, mam_set_prefs_global_shaper, [{mam_global_shaper, all}]}. -{access, mam_get_prefs_global_shaper, [{mam_global_shaper, all}]}. -{access, mam_lookup_messages_global_shaper, [{mam_global_shaper, all}]}. -{access, mam_purge_single_message_global_shaper, [{mam_global_shaper, all}]}. -{access, mam_purge_multiple_messages_global_shaper, [{mam_global_shaper, all}]}. - -%% -%% Define specific Access Rules in a virtual host. -%% -%%{host_config, "localhost", -%% [ -%% {access, c2s, [{allow, admin}, {deny, all}]}, -%% {access, register, [{deny, all}]} -%% ] -%%}. - -%%%. ================ -%%%' DEFAULT LANGUAGE - -%% -%% language: Default language used for server messages. -%% -{language, "en"}. - -%% -%% Set a different default language in a virtual host. -%% -%%{host_config, "localhost", -%% [{language, "ru"}] -%%}. - -%%%. ================ -%%%' MISCELLANEOUS - -{all_metrics_are_global, false }. - -%%%. ======== -%%%' SERVICES - -%% Unlike modules, services are started per node and provide either features which are not -%% related to any particular host, or backend stuff which is used by modules. -%% This is handled by `mongoose_service` module. - -{services, - [ - {service_admin_extra, [{submods, [node, accounts, sessions, vcard, - roster, last, private, stanza, stats]}]} - ] -}. - -%%%. ======= -%%%' MODULES - -%% -%% Modules enabled in all mongooseim virtual hosts. -%% For list of possible modules options, check documentation. -%% -{modules, - [ - - %% The format for a single route is as follows: - %% {Host, Path, Method, Upstream} - %% - %% "_" can be used as wildcard for Host, Path and Method - %% Upstream can be either host (just http(s)://host:port) or uri - %% The difference is that host upstreams append whole path while - %% uri upstreams append only remainder that follows the matched Path - %% (this behaviour is similar to nginx's proxy_pass rules) - %% - %% Bindings can be used to match certain parts of host or path. - %% They will be later overlaid with parts of the upstream uri. - %% - %% {mod_revproxy, - %% [{routes, [{"www.erlang-solutions.com", "/admin", "_", - %% "https://www.erlang-solutions.com/"}, - %% {":var.com", "/:var", "_", "http://localhost:8080/"}, - %% {":domain.com", "/", "_", "http://localhost:8080/:domain"}] - %% }]}, - -% {mod_http_upload, [ - %% Set max file size in bytes. Defaults to 10 MB. - %% Disabled if value is `undefined`. -% {max_file_size, 1024}, - %% Use S3 storage backend -% {backend, s3}, - %% Set options for S3 backend -% {s3, [ -% {bucket_url, "http://s3-eu-west-1.amazonaws.com/konbucket2"}, -% {region, "eu-west-1"}, -% {access_key_id, "AKIAIAOAONIULXQGMOUA"}, -% {secret_access_key, "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"} -% ]} -% ]}, - - {mod_adhoc, []}, - - {mod_disco, [{users_can_see_hidden_services, false}]}, - {mod_commands, []}, - {mod_muc_commands, []}, - {mod_muc_light_commands, []}, - {mod_last, []}, - {mod_stream_management, [ - % default 100 - % size of a buffer of unacked messages - % {buffer_max, 100} - - % default 1 - server sends the ack request after each stanza - % {ack_freq, 1} - - % default: 600 seconds - % {resume_timeout, 600} - ]}, - %% {mod_muc_light, [{host, "muclight.@HOST@"}]}, - %% {mod_muc, [{host, "muc.@HOST@"}, - %% {access, muc}, - %% {access_create, muc_create} - %% ]}, - %% {mod_muc_log, [ - %% {outdir, "/tmp/muclogs"}, - %% {access_log, muc} - %% ]}, - {mod_offline, [{access_max_user_messages, max_user_offline_messages}]}, - {mod_privacy, []}, - {mod_blocking, []}, - {mod_private, []}, -% {mod_private, [{backend, mnesia}]}, -% {mod_private, [{backend, rdbms}]}, -% {mod_register, [ -% %% -% %% Set the minimum informational entropy for passwords. -% %% -% %%{password_strength, 32}, -% -% %% -% %% After successful registration, the user receives -% %% a message with this subject and body. -% %% -% {welcome_message, {""}}, -% -% %% -% %% When a user registers, send a notification to -% %% these XMPP accounts. -% %% -% -% -% %% -% %% Only clients in the server machine can register accounts -% %% -% {ip_access, [{allow, "127.0.0.0/8"}, -% {deny, "0.0.0.0/0"}]}, -% -% %% -% %% Local c2s or remote s2s users cannot register accounts -% %% -% %%{access_from, deny}, -% -% {access, register} -% ]}, - {mod_roster, []}, - {mod_sic, []}, - {mod_vcard, [%{matches, 1}, -%{search, true}, -%{ldap_search_operator, 'or'}, %% either 'or' or 'and' -%{ldap_binary_search_fields, [<<"PHOTO">>]}, -%% list of binary search fields (as in vcard after mapping) -{host, "vjud.@HOST@"} -]}, - {mod_bosh, []}, - {mod_carboncopy, []} - - %% - %% Message Archive Management (MAM, XEP-0313) for registered users and - %% Multi-User chats (MUCs). - %% - -% {mod_mam_meta, [ - %% Use RDBMS backend (default) -% {backend, rdbms}, - - %% Do not store user preferences (default) -% {user_prefs_store, false}, - %% Store user preferences in RDBMS -% {user_prefs_store, rdbms}, - %% Store user preferences in Mnesia (recommended). - %% The preferences store will be called each time, as a message is routed. - %% That is why Mnesia is better suited for this job. -% {user_prefs_store, mnesia}, - - %% Enables a pool of asynchronous writers. (default) - %% Messages will be grouped together based on archive id. -% {async_writer, true}, - - %% Cache information about users (default) -% {cache_users, true}, - - %% Enable archivization for private messages (default) -% {pm, [ - %% Top-level options can be overriden here if needed, for example: -% {async_writer, false} -% ]}, - - %% - %% Message Archive Management (MAM) for multi-user chats (MUC). - %% Enable XEP-0313 for "muc.@HOST@". - %% -% {muc, [ -% {host, "muc.@HOST@"} - %% As with pm, top-level options can be overriden for MUC archive -% ]}, -% - %% Do not use a <stanza-id/> element (by default stanzaid is used) -% no_stanzaid_element, -% ]}, - - - %% - %% MAM configuration examples - %% - - %% Only MUC, no user-defined preferences, good performance. -% {mod_mam_meta, [ -% {backend, rdbms}, -% {pm, false}, -% {muc, [ -% {host, "muc.@HOST@"} -% ]} -% ]}, - - %% Only archives for c2c messages, good performance. -% {mod_mam_meta, [ -% {backend, rdbms}, -% {pm, [ -% {user_prefs_store, mnesia} -% ]} -% ]}, - - %% Basic configuration for c2c messages, bad performance, easy to debug. -% {mod_mam_meta, [ -% {backend, rdbms}, -% {async_writer, false}, -% {cache_users, false} -% ]}, - - %% Cassandra archive for c2c and MUC conversations. - %% No custom settings supported (always archive). -% {mod_mam_meta, [ -% {backend, cassandra}, -% {user_prefs_store, cassandra}, -% {muc, [{host, "muc.@HOST@"}]} -% ]} - -% {mod_event_pusher, [ -% {backends, [ -% %% -% %% Configuration for Amazon SNS notifications. -% %% -% {sns, [ -% %% AWS credentials, region and host configuration -% {access_key_id, "AKIAJAZYHOIPY6A2PESA"}, -% {secret_access_key, "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"}, -% {region, "eu-west-1"}, -% {account_id, "251423380551"}, -% {region, "eu-west-1"}, -% {sns_host, "sns.eu-west-1.amazonaws.com"}, -% -% %% Messages from this MUC host will be sent to the SNS topic -% {muc_host, "muc.@HOST@"}, -% -% %% Plugin module for defining custom message attributes and user identification -% {plugin_module, mod_event_pusher_sns_defaults}, -% -% %% Topic name configurations. Removing a topic will disable this specific SNS notification -% {presence_updates_topic, "user_presence_updated-dev-1"}, %% For presence updates -% {pm_messages_topic, "user_message_sent-dev-1"}, %% For private chat messages -% {muc_messages_topic, "user_messagegroup_sent-dev-1"} %% For group chat messages -% -% %% Pool options -% {pool_size, 100}, %% Worker pool size for publishing notifications -% {publish_retry_count, 2}, %% Retry count in case of publish error -% {publish_retry_time_ms, 50} %% Base exponential backoff time (in ms) for publish errors -% ]} -% ]} - -]}. - - -%% -%% Enable modules with custom options in a specific virtual host -%% -%%{host_config, "localhost", -%% [{ {add, modules}, -%% [ -%% {mod_some_module, []} -%% ] -%% } -%% ]}. - -%%%. -%%%' - -%%% $Id$ - -%%% Local Variables: -%%% mode: erlang -%%% End: -%%% vim: set filetype=erlang tabstop=8 foldmarker=%%%',%%%. foldmethod=marker: -%%%. |
