forked from ccchb/ansible
161 lines
6.6 KiB
Text
161 lines
6.6 KiB
Text
|
-- Prosody XMPP Server Configuration
|
||
|
-- {{ ansible_managed }}
|
||
|
|
||
|
---------- Server-wide settings ----------
|
||
|
-- Settings in this section apply to the whole server and are the default settings
|
||
|
-- for any virtual hosts
|
||
|
|
||
|
-- This is a (by default, empty) list of accounts that are admins
|
||
|
-- for the server. Note that you must create the accounts separately
|
||
|
-- (see http://prosody.im/doc/creating_accounts for info)
|
||
|
-- Example: admins = { "user1@example.com", "user2@example.net" }
|
||
|
admins = { "deelkar@jabber.ccchb.de", "freak@jabber.ccchb.de", "jali@jabber.ccchb.de" }
|
||
|
|
||
|
-- Enable use of libevent for better performance under high load
|
||
|
-- For more information see: http://prosody.im/doc/libevent
|
||
|
use_libevent = false;
|
||
|
|
||
|
plugin_paths = { "/opt/prosody-modules" }
|
||
|
|
||
|
-- This is the list of modules Prosody will load on startup.
|
||
|
-- It looks for mod_modulename.lua in the plugins folder, so make sure that exists too.
|
||
|
-- Documentation on modules can be found at: http://prosody.im/doc/modules
|
||
|
modules_enabled = {
|
||
|
{% for module in prosody_modules %}
|
||
|
"{{ module }}";
|
||
|
{% endfor %}
|
||
|
};
|
||
|
|
||
|
-- These modules are auto-loaded, should you
|
||
|
-- (for some mad reason) want to disable
|
||
|
-- them then uncomment them below
|
||
|
modules_disabled = {
|
||
|
-- "presence"; -- Route user/contact status information
|
||
|
-- "message"; -- Route messages
|
||
|
-- "iq"; -- Route info queries
|
||
|
-- "offline"; -- Store offline messages
|
||
|
};
|
||
|
|
||
|
-- Disable account creation by default, for security
|
||
|
-- For more information see http://prosody.im/doc/creating_accounts
|
||
|
allow_registration = {{ prosody_allow_registration }};
|
||
|
|
||
|
-- These are the SSL/TLS-related settings. If you don't want
|
||
|
-- to use SSL/TLS, you may comment or remove this
|
||
|
-- *** DUMMY CERT *** DO NOT CHANGE *** SET CERT IN HOST SECTION ***
|
||
|
ssl = {
|
||
|
protocol = "sslv23";
|
||
|
key = "{{ prosody_ssl_key }}";
|
||
|
certificate = "{{ prosody_ssl_cert }}";
|
||
|
dhparam = "/etc/prosody/certs/dh-2048.pem";
|
||
|
options = { "no_sslv2", "no_sslv3", "no_ticket", "no_compression", "cipher_server_preference", "single_dh_use", "single_ecdh_use" };
|
||
|
ciphers = "ECDH:DH:HIGH+kEDH:HIGH+kEECDH:HIGH:!CAMELLIA128:!3DES:!MD5:!RC4:!aNULL:!NULL:!EXPORT:!LOW:!MEDIUM";
|
||
|
}
|
||
|
legacy_ssl_ports = { 5223 }
|
||
|
http_external_url = "https://{{ prosody_domain }}/"
|
||
|
|
||
|
-- Only allow encrypted streams? Encryption is already used when
|
||
|
-- available. These options will cause Prosody to deny connections that
|
||
|
-- are not encrypted. Note that some servers do not support s2s
|
||
|
-- encryption or have it disabled, including gmail.com and Google Apps
|
||
|
-- domains.
|
||
|
|
||
|
--c2s_require_encryption = false
|
||
|
--s2s_require_encryption = false
|
||
|
|
||
|
-- Select the authentication backend to use. The 'internal' providers
|
||
|
-- use Prosody's configured data storage to store the authentication data.
|
||
|
-- To allow Prosody to offer secure authentication mechanisms to clients, the
|
||
|
-- default provider stores passwords in plaintext. If you do not trust your
|
||
|
-- server please see http://prosody.im/doc/modules/mod_auth_internal_hashed
|
||
|
-- for information about using the hashed backend.
|
||
|
|
||
|
authentication = "internal_hashed"
|
||
|
|
||
|
-- Select the storage backend to use. By default Prosody uses flat files
|
||
|
-- in its configured data directory, but it also supports more backends
|
||
|
-- through modules. An "sql" backend is included by default, but requires
|
||
|
-- additional dependencies. See http://prosody.im/doc/storage for more info.
|
||
|
|
||
|
--storage = "sql" -- Default is "internal"
|
||
|
|
||
|
-- For the "sql" backend, you can uncomment *one* of the below to configure:
|
||
|
--sql = { driver = "SQLite3", database = "prosody.sqlite" } -- Default. 'database' is the filename.
|
||
|
--sql = { driver = "MySQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" }
|
||
|
--sql = { driver = "PostgreSQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" }
|
||
|
|
||
|
|
||
|
-- STUN/TURN
|
||
|
--turncredentials_host = "jabber.emma.ccchb.de"
|
||
|
turncredentials_host = "einstein.cskreie.de"
|
||
|
turncredentials_secret = "gabbagabbahey"
|
||
|
|
||
|
|
||
|
-- HTTP-UPLOAD
|
||
|
http_upload_file_size_limit = 10485760 -- 10M
|
||
|
http_max_content_size = 20971520 -- 20M
|
||
|
http_upload_quota = 104857600 -- 100M
|
||
|
http_upload_expire_after = 2592000 -- 30d
|
||
|
|
||
|
-- Logging configuration
|
||
|
-- For advanced logging see http://prosody.im/doc/logging
|
||
|
-- Hint: If you create a new log file or rename them, don't forget
|
||
|
-- to update the logrotate config at /etc/logrotate.d/prosody
|
||
|
log = {
|
||
|
-- Log all error messages to prosody.err
|
||
|
error = "/var/log/prosody/prosody.err";
|
||
|
-- Log everything of level "info" and higher (that is, all except "debug" messages)
|
||
|
-- to prosody.log
|
||
|
-- info = "/var/log/prosody/prosody.log"; -- Change 'info' to 'debug' for more verbose logging
|
||
|
-- debug = "/var/log/prosody/prosody.log"; -- Change 'info' to 'debug' for more verbose logging
|
||
|
--"*syslog"; -- Uncomment this for logging to syslog
|
||
|
}
|
||
|
|
||
|
-- Pidfile, used by prosodyctl and the init.d script
|
||
|
pidfile = "/var/run/prosody/prosody.pid";
|
||
|
|
||
|
----------- Virtual hosts -----------
|
||
|
-- You need to add a VirtualHost entry for each domain you wish Prosody to serve.
|
||
|
-- Settings under each VirtualHost entry apply *only* to that host.
|
||
|
|
||
|
VirtualHost "localhost"
|
||
|
|
||
|
VirtualHost "{{ prosody_domain }}"
|
||
|
enabled = true -- Remove this line to enable this host
|
||
|
|
||
|
-- Assign this host a certificate for TLS, otherwise it would use the one
|
||
|
-- set in the global section (if any).
|
||
|
-- Note that old-style SSL on port 5223 only supports one certificate, and will always
|
||
|
-- use the global one.
|
||
|
ssl = {
|
||
|
protocol = "sslv23";
|
||
|
key = "{{ prosody_ssl_key }}";
|
||
|
certificate = "{{ prosody_ssl_cert }}";
|
||
|
dhparam = "/etc/prosody/certs/dh-2048.pem";
|
||
|
options = { "no_sslv2", "no_sslv3", "no_ticket", "no_compression", "cipher_server_preference", "single_dh_use", "single_ecdh_use" };
|
||
|
ciphers = "ECDH:DH:HIGH+kEDH:HIGH+kEECDH:HIGH:!CAMELLIA128:!3DES:!MD5:!RC4:!aNULL:!NULL:!EXPORT:!LOW:!MEDIUM";
|
||
|
}
|
||
|
|
||
|
------ Components ------
|
||
|
-- You can specify components to add hosts that provide special services,
|
||
|
-- like multi-user conferences, and transports.
|
||
|
-- For more information on components, see http://prosody.im/doc/components
|
||
|
|
||
|
---Set up a MUC (multi-user chat) room server on conference.example.com:
|
||
|
Component "muc.{{ prosody_domain }}" "muc"
|
||
|
modules_enabled = {
|
||
|
"vcard_muc", "muc_mam",
|
||
|
}
|
||
|
-- Set up a SOCKS5 bytestream proxy for server-proxied file transfers:
|
||
|
--Component "proxy.example.com" "proxy65"
|
||
|
|
||
|
---Set up an external component (default component port is 5347)
|
||
|
--
|
||
|
-- External components allow adding various services, such as gateways/
|
||
|
-- transports to other networks like ICQ, MSN and Yahoo. For more info
|
||
|
-- see: http://prosody.im/doc/components#adding_an_external_component
|
||
|
--
|
||
|
--Component "gateway.example.com"
|
||
|
-- component_secret = "password"
|
||
|
|