Files
vnctalk-prosody/config/prosody.cfg.lua.template
T

292 lines
9.8 KiB
Plaintext

--------------------------------------------------------------------------------
---- VNCtalk Prosody/XMPP Settings
--------------------------------------------------------------------------------
daemonize = false;
pidfile = "/var/run/prosody/prosody.pid"; -- Required for init scripts and prosodyctl
-- Enable use of libevent for better performance under high load
-- For more information see: http://prosody.im/doc/libevent
-- use_libevent = true;
network_backend = "epoll";
allow_registration = false;
network_default_read_size = 8192; -- Increase buffer size to allow jitsi meet and file transfers. Default 4096.
-- for docker only!
run_as_root = true;
admins = {
"admin@${prosodyDomain}"
}
plugin_paths = {
"/usr/local/lib/prosody/modules",
"/usr/lib/prosody/modules",
}
modules_enabled = {
"roster"; -- Allow users to have a roster. Recommended ;)
"saslauth"; -- Authentication for clients and servers. Recommended if you want to log in.
"tls"; -- Add support for secure TLS on c2s/s2s connections
"dialback"; -- s2s dialback support
"disco"; -- Service discovery
"private"; -- Private XML storage (for room bookmarks, etc.)
"vcard"; -- Allow users to set vCards
"blocklist"; -- Allow users to block communications with other users
"smacks";
"smacks_offline";
"carbons";
"carbons_copies";
"mam";
"vnc_lastactivity";
"offline"; -- Store offline messages
"pubsub";
"version"; -- Replies to server version requests
"uptime"; -- Report how long server has been running
"time"; -- Let others know the time here on this server
"ping"; -- Replies to XMPP pings with pongs
"pep"; -- Enables users to publish their mood, activity, playing music and more
"vnc_vcard_avatar"; -- publish avatars
"adhoc";
"admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc commands
"admin_telnet"; -- Opens telnet console interface on localhost port 5582
"posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
"bosh"; -- Enable mod_bosh
"websocket";
"http_altconnect";
"idlecompat";
-- "groups"; -- Shared roster support
-- Other specific functionality
"announce"; -- Send announcement to all online users
"watchregistrations"; -- Alert admins of registrations
"motd"; -- Send a message to users when they log in
"legacyauth"; -- Legacy authentication. Only used by some old clients and bots.
"webpresence";
"http_rest";
"csi";
-- "throttle_presence";
"filter_chatstates";
-- VNCtalk modules
"vnc_receipts";
"vnc_remotemucstore";
}
modules_disabled = {
-- "c2s"; -- Handle client connections
-- "s2s"; -- Handle server-to-server connections
"archive";
"register"; -- Allow users to register on this server using a client and change passwords
}
--------------------------------------------------------------------------------
---- Logging configuration
--------------------------------------------------------------------------------
-- The supported levels are: "debug", "info", "warn", "error".
log = {
levels = { "info", "warn", "error" }, to = "console" ;
}
--------------------------------------------------------------------------------
---- Components Settings
--------------------------------------------------------------------------------
component_ports = { 5347 }
component_interface = "0.0.0.0";
--component_interface = "192.168.0.10"; -- Prosody to listen for component connections on port XXXX, coming only to the IP address 192.168.0.10.
--------------------------------------------------------------------------------
---- BOSH Settings
--------------------------------------------------------------------------------
bosh_ports = { 5280 }
bosh_max_inactivity = 10; --Maximum amount of time in seconds a client may remain silent for, with no requests
cross_domain_bosh = true; --Allow access from scripts on any site with no proxy (requires a modern browser)
consider_bosh_secure = true; --Use if proxying HTTPS->HTTP on the server side
bosh_default_hold = 1; --Maximum number of requests the server will hold open for a client
bosh_max_requests = 2; --Maximum number of requests a client may make to the server at a time
-- 2check: internel network in k8s ?
trusted_proxies = { "127.0.0.1" } --A list of proxies to trust, used to find a client's real IP
--------------------------------------------------------------------------------
---- Websocket Settings
--------------------------------------------------------------------------------
cross_domain_websocket = true; --Allow access from scripts on any site with no proxy (requires a modern browser)
consider_websocket_secure = true; --Use if proxying HTTPS->HTTP on the server side
--------------------------------------------------------------------------------
---- SSL/TLS Settings
--------------------------------------------------------------------------------
ssl = {
key = "/etc/prosody-ssl.key";
certificate = "/etc/prosody-ssl.pem";
}
c2s_require_encryption = true; -- Force clients to use encrypted connections
s2s_secure_auth = false; -- Force certificate authentication for server-to-server connections
--s2s_secure_domains = { "jabber.org" }
-- list of domains here that will not be required to authenticate using certificates
--s2s_insecure_domains = { "gmail.com" }
allow_anonymous_s2s = true
--------------------------------------------------------------------------------
---- Authentication Settings
--------------------------------------------------------------------------------
authentication = "internal_hashed"
--------------------------------------------------------------------------------
---- Storage Settings
--------------------------------------------------------------------------------
default_storage = "sql"
storage = "sql"
sql = {
driver = "PostgreSQL",
host = "${prosodyDBhost}",
database = "${prosodyDBname}",
username = "${prosodyDBuser}",
password = "${prosodyDBpass}",
}
-- storage = { archive2 = "sql2" }
sql_manage_tables = true; --allow auto create table
-- PEP limit
pep_max_items = 256
--------------------------------------------------------------------------------
---- MAM XEP-0313 Settings
--------------------------------------------------------------------------------
max_archive_query_results = 20;
archive_cleanup_interval = 4*60*60;
archive_expires_after = "never"
default_archive_policy = "roster"
--------------------------------------------------------------------------------
---- SMACKS config
--------------------------------------------------------------------------------
smacks_hibernation_time = 300;
smacks_enabled_s2s = false;
smacks_max_unacked_stanzas = 0;
smack_max_ack_delay = 60;
smacks_max_hibernated_sessions = 10;
smacks_max_old = 10;
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
---- MOTD config
--------------------------------------------------------------------------------
motd_jid = "admin@${prosodyDomain}"
-- motd_text = "Currently the XMPP service is under maintence."
----------- Virtual hosts -----------
VirtualHost "${prosodyDomain}"
enabled = true; -- Remove this line to enable this host
admins = { "admin@${prosodyDomain}" }
authentication = "http_async"
-- http_auth_url = "http://10.0.201.48:9544/"
http_auth_url = "${hybridaAuthUrl}"
fcm_api_key = "${fcmApiKey}"
fcm_api_url = "${fcmApiUrl}"
del_api_url = "${fcmDelUrl}"
modules_enabled = {
"bosh";
"pubsub";
"ping"; -- Enable mod_ping
-- "auto_accept_subscriptions";
"vnc_delfile";
"vnc_fcm";
"http_upload_external";
"alias";
"vnc_timestamp";
}
modules_disabled = {
"discoitems"; --manually override the service discovery items for a host
}
http_upload_external_base_url = "${fileShareBaseUrl}"
http_upload_external_secret = "${fileShareSecret}"
http_upload_external_file_size_limit = 104857600 -- bytes
-- avatar_upload_url = "https://vnctalk.dev.vnc.de/avatarupload/"
avatar_upload_url = "${avatarUploadUrl}"
avatar_upload_user = "${avatarUploadUser}"
avatar_upload_pass = "${avatarUploadPass}"
ssl = {
key = "/etc/prosody-ssl.key";
certificate = "/etc/prosody-ssl.pem";
}
disco_items = {
-- Do not display/publicy any disco item to avoid information leaking due to public reachable chatroom service.
}
Component "conference.${prosodyDomain}" "muc"
component_secret = "Weew0Ooheivei3aizohmalohLieshohs"
modules_enabled = {
"muc_mam",
"vnc_muc_automember",
"vnc_muc_fcm",
"vnc_remotemucinvite",
"vnc_delfile",
"vnc_e2ehints",
"vnc_muc_hook",
"vnc_muc_data",
"vnc_track_kicks",
"vcard_muc"; -- allow vcards for muc
}
storage = {
-- This makes mod_mam_muc use the sql2 storage backend (others will use internal)
-- which at the time of this writing is the only one supporting stanza archives
muc_log = "sql";
}
muc_log_by_default = true; -- Enable logging by default (can be disabled in room config)
muc_log_all_rooms = true; -- set to true to force logging of all rooms
-- This is the largest number of messages that are allowed to be retrieved in one MAM request.
max_archive_query_results = 20;
-- This is the largest number of messages that are allowed to be retrieved when joining a room.
max_history_messages = 1000;
fcm_api_key = "${fcmApiKey}"
fcm_api_url = "${fcmApiUrl}"
del_api_url = "${fcmDelUrl}"
avatar_upload_url = "${avatarUploadUrl}"
avatar_upload_user = "${avatarUploadUser}"
avatar_upload_pass = "${avatarUploadPass}"
storage_host = "${prosodyDomain}";
Component "broadcast@${prosodyDomain}" "vnc_broadcast"