-- Prosody Example Configuration File -- -- If it wasn't already obvious, -- starts a comment, and all -- text after it on a line is ignored by Prosody. -- -- The config is split into sections, a global section, and one -- for each defined host that we serve. You can add as many host -- sections as you like. -- -- Lists are written { "like", "this", "one" } -- Lists can also be of { 1, 2, 3 } numbers, and other things. -- Either commas, or semi-colons; may be used -- as seperators. -- -- A table is a list of values, except each value has a name. An -- example table would be: -- -- ssl = { key = "keyfile.key", certificate = "certificate.cert" } -- -- Whitespace (that is tabs, spaces, line breaks) is mostly -- insignificant, so -- can -- be placed anywhere that you deem fitting. -- -- Tip: You can check that the syntax of this file is correct when you -- have finished by running: luac -p prosody.cfg.lua -- If there are any errors, it will let you know what and where they -- are, otherwise it will keep quiet. -- -- The only thing left to do is rename this file to remove the .dist -- ending, and fill in the -- blanks. Good luck, and happy Jabbering! -- Server-wide settings go in this section Host "*" -- 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) -- Example: admins = { "user1@example.com", "user2@example.net" } admins = { } -- Enable use of libevent for better performance under high load -- For more information see: http://prosody.im/doc/libevent --use_libevent = true; -- 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 = { -- Generally required "roster"; -- Allow users to have a roster. Recommended ;) "saslauth"; -- Authentication for clients and servers. Recommended if -- you want to log in. "dialback"; -- s2s dialback support "disco"; -- Service discovery "posix"; -- POSIX functionality, daemonizes, enables syslog, etc. -- Not essential, but recommended "private"; -- Private XML storage (for room bookmarks, etc.) "vcard"; -- Allow users to set vCards "privacy"; -- Support privacy lists "tls"; -- Support for secure TLS on c2s/s2s connections --"compression"; -- Stream compression for client-to-server streams -- Nice to have "legacyauth"; -- Legacy authentication. Only used by some old -- clients and bots. "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 "register"; -- Allow users to register on this server using a client -- and change passwords -- Other specific functionality --"console"; -- telnet to port 5582 -- (needs console_enabled = true) --"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP" --"httpserver"; -- Serve static files from a directory over -- HTTP --"groups"; -- Shared roster support --"announce"; -- Send announcement to all online users --"welcome"; -- Welcome users who register accounts --"watchregistrations"; -- Alert admins of registrations } -- These modules are auto-loaded, should you for (for some mad -- reason) want to disable them then uncomment them below. modules_disabled = { --"presence"; --"message"; --"iq"; } -- Disable account creation by default, for security -- For more information see http://prosody.im/doc/creating_accounts allow_registration = false; --These are the SSL/TLS-related settings. --ssl = { -- key = "certs/localhost.key"; -- certificate = "certs/localhost.cert"; --} -- Require encryption on client/server connections? --c2s_require_encryption = false --s2s_require_encryption = false -- Logging configuration -- For advanced logging see http://prosody.im/doc/logging log = "prosody.log"; debug = false; -- Log debug messages? -- This allows clients to connect to localhost. No harm in it. Host "localhost" -- Section for example.com -- (replace example.com with your domain name) Host "example.com" enabled = false -- This will disable the host, preserving the config, but -- denying connections (remove to enable!) -- 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 = { -- key = "certs/example.com.key"; -- certificate = "certs/example.com.crt"; --} -- Set up a MUC (multi-user chat) room server on conference.example.com: --Component "conference.example.com" "muc" -- Set up a SOCKS5 bytestream proxy for server-proxied file transfers: --Component "proxy.example.com" "proxy65"