1 -- Prosody Example Configuration File |
1 -- Prosody Example Configuration File |
|
2 -- |
|
3 -- Information on configuring Prosody can be found on our |
|
4 -- website at http://prosody.im/doc/configure |
|
5 -- |
|
6 -- Tip: You can check that the syntax of this file is correct |
|
7 -- when you have finished by running: luac -p prosody.cfg.lua |
|
8 -- If there are any errors, it will let you know what and where |
|
9 -- they are, otherwise it will keep quiet. |
2 -- |
10 -- |
3 -- If it wasn't already obvious, -- starts a comment, and all |
11 -- The only thing left to do is rename this file to remove the .dist ending, and fill in the |
4 -- text after it on a line is ignored by Prosody. |
|
5 -- |
|
6 -- The config is split into sections, a global section, and one |
|
7 -- for each defined host that we serve. You can add as many host |
|
8 -- sections as you like. |
|
9 -- |
|
10 -- Lists are written { "like", "this", "one" } |
|
11 -- Lists can also be of { 1, 2, 3 } numbers, and other things. |
|
12 -- Either commas, or semi-colons; may be used |
|
13 -- as seperators. |
|
14 -- |
|
15 -- A table is a list of values, except each value has a name. An |
|
16 -- example table would be: |
|
17 -- |
|
18 -- ssl = { key = "keyfile.key", certificate = "certificate.cert" } |
|
19 -- |
|
20 -- Whitespace (that is tabs, spaces, line breaks) is mostly |
|
21 -- insignificant, so |
|
22 -- can |
|
23 -- be placed anywhere that you deem fitting. |
|
24 -- |
|
25 -- Tip: You can check that the syntax of this file is correct when you |
|
26 -- have finished by running: luac -p prosody.cfg.lua |
|
27 -- If there are any errors, it will let you know what and where they |
|
28 -- are, otherwise it will keep quiet. |
|
29 -- |
|
30 -- The only thing left to do is rename this file to remove the .dist |
|
31 -- ending, and fill in the |
|
32 -- blanks. Good luck, and happy Jabbering! |
12 -- blanks. Good luck, and happy Jabbering! |
33 |
13 |
34 -- Server-wide settings go in this section |
|
35 Host "*" |
|
36 |
14 |
37 -- This is a (by default, empty) list of accounts that are admins for the |
15 ---------- Server-wide settings ---------- |
38 -- server. Note that you must create the accounts separately (see |
16 -- Settings in this section apply to the whole server and are the default settings |
39 -- http://prosody.im/doc/creating_accounts) |
17 -- for any virtual hosts |
40 -- Example: admins = { "user1@example.com", "user2@example.net" } |
|
41 admins = { } |
|
42 |
18 |
43 -- Enable use of libevent for better performance under high load |
19 -- This is a (by default, empty) list of accounts that are admins |
44 -- For more information see: http://prosody.im/doc/libevent |
20 -- for the server. Note that you must create the accounts separately |
45 --use_libevent = true; |
21 -- (see http://prosody.im/doc/creating_accounts for info) |
|
22 -- Example: admins = { "user1@example.com", "user2@example.net" } |
|
23 admins = { } |
46 |
24 |
47 -- This is the list of modules Prosody will load on startup. It looks for |
25 -- Enable use of libevent for better performance under high load |
48 -- mod_modulename.lua in the plugins folder, so make sure that exists too. |
26 -- For more information see: http://prosody.im/doc/libevent |
49 -- Documentation on modules can be found at: http://prosody.im/doc/modules |
27 --use_libevent = true; |
50 modules_enabled = { |
28 |
51 -- Generally required |
29 -- This is the list of modules Prosody will load on startup. |
52 "roster"; -- Allow users to have a roster. Recommended ;) |
30 -- It looks for mod_modulename.lua in the plugins folder, so make sure that exists too. |
53 "saslauth"; -- Authentication for clients and servers. Recommended if |
31 -- Documentation on modules can be found at: http://prosody.im/doc/modules |
54 -- you want to log in. |
32 modules_enabled = { |
|
33 |
|
34 -- Generally required |
|
35 "roster"; -- Allow users to have a roster. Recommended ;) |
|
36 "saslauth"; -- Authentication for clients and servers. Recommended if you want to log in. |
|
37 "tls"; -- Add support for secure TLS on c2s/s2s connections |
55 "dialback"; -- s2s dialback support |
38 "dialback"; -- s2s dialback support |
56 "disco"; -- Service discovery |
39 "disco"; -- Service discovery |
57 "posix"; -- POSIX functionality, daemonizes, enables syslog, etc. |
|
58 |
40 |
59 -- Not essential, but recommended |
41 -- Not essential, but recommended |
60 "private"; -- Private XML storage (for room bookmarks, etc.) |
42 "private"; -- Private XML storage (for room bookmarks, etc.) |
61 "vcard"; -- Allow users to set vCards |
43 "vcard"; -- Allow users to set vCards |
62 "tls"; -- Support for secure TLS on c2s/s2s connections |
44 --"privacy"; -- Support privacy lists |
63 --"privacy"; -- Support privacy lists |
45 --"compression"; -- Stream compression |
64 --"compression"; -- Stream compression for client-to-server streams |
|
65 |
46 |
66 -- Nice to have |
47 -- Nice to have |
67 "legacyauth"; -- Legacy authentication. Only used by some old |
48 "legacyauth"; -- Legacy authentication. Only used by some old clients and bots. |
68 -- clients and bots. |
49 "version"; -- Replies to server version requests |
69 "version"; -- Replies to server version requests |
50 "uptime"; -- Report how long server has been running |
70 "uptime"; -- Report how long server has been running |
51 "time"; -- Let others know the time here on this server |
71 "time"; -- Let others know the time here on this server |
52 "ping"; -- Replies to XMPP pings with pongs |
72 "ping"; -- Replies to XMPP pings with pongs |
53 "pep"; -- Enables users to publish their mood, activity, playing music and more |
73 "pep"; -- Enables users to publish their mood, activity, playing |
54 "register"; -- Allow users to register on this server using a client and change passwords |
74 -- music and more |
|
75 "register"; -- Allow users to register on this server using a client |
|
76 -- and change passwords |
|
77 |
55 |
78 -- Other specific functionality |
56 -- Other specific functionality |
79 --"console"; -- telnet to port 5582 |
57 --"posix"; -- POSIX functionality, sends server to background, enables syslog, etc. |
80 -- (needs console_enabled = true) |
58 --"console"; -- Opens admin telnet interface on localhost port 5582 |
81 --"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP" |
59 --"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP" |
82 --"httpserver"; -- Serve static files from a directory over |
60 --"httpserver"; -- Serve static files from a directory over HTTP |
83 -- HTTP |
61 --"groups"; -- Shared roster support |
84 --"groups"; -- Shared roster support |
62 --"announce"; -- Send announcement to all online users |
85 --"announce"; -- Send announcement to all online users |
63 --"welcome"; -- Welcome users who register accounts |
86 --"welcome"; -- Welcome users who register accounts |
|
87 --"watchregistrations"; -- Alert admins of registrations |
64 --"watchregistrations"; -- Alert admins of registrations |
|
65 }; |
|
66 |
|
67 -- These modules are auto-loaded, should you |
|
68 -- for (for some mad reason) want to disable |
|
69 -- them then uncomment them below |
|
70 modules_disabled = { |
|
71 -- "presence"; |
|
72 -- "message"; |
|
73 -- "iq"; |
|
74 }; |
|
75 |
|
76 -- Disable account creation by default, for security |
|
77 -- For more information see http://prosody.im/doc/creating_accounts |
|
78 allow_registration = false; |
|
79 |
|
80 -- These are the SSL/TLS-related settings. If you don't want |
|
81 -- to use SSL/TLS, you may comment or remove this |
|
82 ssl = { |
|
83 key = "certs/localhost.key"; |
|
84 certificate = "certs/localhost.cert"; |
|
85 } |
|
86 |
|
87 -- Require encryption on client/server connections? |
|
88 --c2s_require_encryption = false |
|
89 --s2s_require_encryption = false |
|
90 |
|
91 -- Logging configuration |
|
92 -- For advanced logging see http://prosody.im/doc/logging |
|
93 log = "prosody.log"; |
|
94 debug = false; -- Log debug messages? |
|
95 |
|
96 ----------- Virtual hosts ----------- |
|
97 -- You need to add a VirtualHost entry for each domain you wish Prosody to serve. |
|
98 -- Settings under each VirtualHost entry apply *only* to that host. |
|
99 |
|
100 VirtualHost "localhost" |
|
101 |
|
102 VirtualHost "example.com" |
|
103 enabled = false -- Remove this line to enable this host |
|
104 |
|
105 -- Assign this host a certificate for TLS, otherwise it would use the one |
|
106 -- set in the global section (if any). |
|
107 -- Note that old-style SSL on port 5223 only supports one certificate, and will always |
|
108 -- use the global one. |
|
109 ssl = { |
|
110 key = "certs/example.com.key"; |
|
111 certificate = "certs/example.com.crt"; |
88 } |
112 } |
89 |
113 |
90 -- These modules are auto-loaded, should you for (for some mad |
114 ------ Components ------ |
91 -- reason) want to disable them then uncomment them below. |
115 -- You can specify components to add hosts that provide special services, |
92 modules_disabled = { |
116 -- like multi-user conferences, and transports. |
93 --"presence"; |
117 -- For more information on components, see http://prosody.im/doc/components |
94 --"message"; |
|
95 --"iq"; |
|
96 } |
|
97 |
118 |
98 -- Disable account creation by default, for security |
119 ---Set up a MUC (multi-user chat) room server on conference.example.com: |
99 -- For more information see http://prosody.im/doc/creating_accounts |
|
100 allow_registration = false; |
|
101 |
|
102 --These are the SSL/TLS-related settings. |
|
103 --ssl = { |
|
104 -- key = "certs/localhost.key"; |
|
105 -- certificate = "certs/localhost.cert"; |
|
106 --} |
|
107 |
|
108 -- Require encryption on client/server connections? |
|
109 --c2s_require_encryption = false |
|
110 --s2s_require_encryption = false |
|
111 |
|
112 -- Logging configuration |
|
113 -- For advanced logging see http://prosody.im/doc/logging |
|
114 log = "prosody.log"; |
|
115 debug = false; -- Log debug messages? |
|
116 |
|
117 -- This allows clients to connect to localhost. No harm in it. |
|
118 Host "localhost" |
|
119 |
|
120 -- Section for example.com |
|
121 -- (replace example.com with your domain name) |
|
122 Host "example.com" |
|
123 enabled = false -- This will disable the host, preserving the config, but |
|
124 -- denying connections (remove to enable!) |
|
125 |
|
126 -- Assign this host a certificate for TLS, otherwise it would use the one |
|
127 -- set in the global section (if any). Note that old-style SSL on port 5223 |
|
128 -- only supports one certificate, and will always use the global one. |
|
129 --ssl = { |
|
130 -- key = "certs/example.com.key"; |
|
131 -- certificate = "certs/example.com.crt"; |
|
132 --} |
|
133 |
|
134 -- Set up a MUC (multi-user chat) room server on conference.example.com: |
|
135 --Component "conference.example.com" "muc" |
120 --Component "conference.example.com" "muc" |
136 |
121 |
137 -- Set up a SOCKS5 bytestream proxy for server-proxied file transfers: |
122 -- Set up a SOCKS5 bytestream proxy for server-proxied file transfers: |
138 --Component "proxy.example.com" "proxy65" |
123 --Component "proxy.example.com" "proxy65" |
|
124 |
|
125 ---Set up an external component (default component port is 5347) |
|
126 --Component "gateway.example.com" |
|
127 -- component_secret = "password" |