Skip to content

Instantly share code, notes, and snippets.

@dnut
Last active January 26, 2021 19:21
Show Gist options
  • Save dnut/498f4ecc65a923b819b6e2298300fd55 to your computer and use it in GitHub Desktop.
Save dnut/498f4ecc65a923b819b6e2298300fd55 to your computer and use it in GitHub Desktop.
admins = { "admin@example.com" }
privileged_entities = {
["admin@example.com"] = {
roster = "both";
message = "outgoing";
presence = "roster";
},
}
plugin_paths = { "/etc/prosody/prosody-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.
"tls"; -- Add support for secure TLS on c2s/s2s connections
"dialback"; -- s2s dialback support
"disco"; -- Service discovery
-- Not essential, but recommended
"private"; -- Private XML storage (for room bookmarks, etc.)
"vcard"; -- Allow users to set vCards
-- Nice to have
"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
-- Admin interfaces
"admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc commands
"admin_telnet"; -- Opens telnet console interface on localhost port 5582
"privilege";
"admin_web";
-- "admin_message"; -- Allow admin user to access console through console@example.com
--"admin_probe"; -- Allow admin user to probe any user
-- HTTP modules
"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP"
-- "http_files"; -- Serve static files from a directory over HTTP
"http"; -- needed for http upload to work with movim???
"http_upload"; -- upload files to server
-- Other specific functionality
"posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
--"groups"; -- Shared roster support
"announce"; -- Send announcement to all online users
"welcome"; -- Welcome users who register accounts
"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.
-- Archiving & Carbon
"mam";
"carbons";
"storage_sql";
"message_logging";
-- Needed for Kaiwa
"websocket";
--"http_altconnect";
-- Log IP addresses
"log_auth";
};
disco_items = {
{ "https://example.com/upload//", "http_upload" };
}
log_auth_ips = "all"
default_archive_policy = true;
archive_expires_after = "never";
cross_domain_bosh = true;
http_max_content_size = 250000000;
http_upload_file_size_limit = http_max_content_size;
allow_registration = true;
-- Debian:
-- send the server to background.
daemonize = true;
-- Debian:
-- Please, don't change this option since /var/run/prosody/
-- is one of the few directories Prosody is allowed to write to
pidfile = "/var/run/prosody/prosody.pid";
ssl = {
key = "/etc/ssl/example/www_example_com.key";
certificate = "/etc/ssl/example/www_example_com.crt";
cafile = "/etc/ssl/example/www_example_com.ca-bundle";
}
-- Force clients to use encrypted connections.
c2s_require_encryption = true
-- Force certificate authentication for server-to-server connections.
s2s_secure_auth = false
authentication = "internal_hashed"
storage = "sql"
sql = {
driver = "MySQL";
database = "prosody";
host = "localhost";
port = "redacted";
username = "redacted";
password = "redacted";
}
sql_manage_tables = true
log = {
-- Log files (change 'info' to 'debug' for debug logs):
info = "/var/log/prosody/prosody.log";
error = "/var/log/prosody/prosody.err";
-- Syslog:
{ levels = { "error" }; to = "syslog"; };
}
-- http_default_host = "example.com"
http_external_url = "https://example.com/"
--http_paths = {
-- http_upload = "/upload"
--}
VirtualHost "example.com"
-- http_host = "www.example.com"
-- Component "www.example.com" "http_upload"
Include "conf.d/*.cfg.lua"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment