| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| servers:linux:prosody [2026/05/15 02:05] – Sean Rhone | servers:linux:prosody [2026/05/15 03:08] (current) – Sean Rhone |
|---|
| * [[linux:distros:server:opensuse_tumbleweed_server|openSUSE Tumbleweed (Server)]] | * [[linux:distros:server:opensuse_tumbleweed_server|openSUSE Tumbleweed (Server)]] |
| * [[servers:linux:nginx:lets_encrypt|Certbot (Let's Encrypt)]] | * [[servers:linux:nginx:lets_encrypt|Certbot (Let's Encrypt)]] |
| |
| ===== Notes ===== | |
| |
| * https://check.messaging.one/result.php?domain=chat.realmofespionage.xyz&type=client | |
| * https://check.messaging.one/submit.php?domain=chat.realmofespionage.xyz&type=server | |
| |
| ====== Dependencies ====== | ====== Dependencies ====== |
| ====== Settings ====== | ====== Settings ====== |
| |
| ===== General ===== | * https://prosody.im/doc/configure |
| |
| * Should be set out-the-box | ===== Modular ===== |
| |
| sudo -e '/etc/prosody/prosody.cfg.lua' | echo 'Include "conf.d/*.cfg.lua"' | sudo tee --append '/etc/prosody/prosody.cfg.lua' > '/dev/null' |
| |
| Include "conf.d/*.cfg.lua" | sudo -e '/etc/prosody/prosody.cfg.lua' |
| |
| ===== RoE | Chat ===== | ===== RoE | Chat ===== |
| |
| sudo -e '/etc/prosody/conf.avail/roe-chat.cfg.lua' | sudo mkdir -p '/etc/prosody/conf.d' && sudo -e '/etc/prosody/conf.d/roe-chat.cfg.lua' && sudo chown -R 'prosody':'prosody' '/etc/prosody/conf.d' |
| |
| admins = { "espionage724@chat.realmofespionage.xyz" } | <code> |
| | admins = { "espionage724@chat.realmofespionage.xyz" } |
| ssl = { | |
| key = "/etc/prosody/certs/privkey.pem"; | |
| certificate = "/etc/prosody/certs/fullchain.pem"; | |
| protocol = "tlsv1_2"; | |
| ciphers = "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256"; | |
| } | |
| | |
| c2s_require_encryption = true | |
| | |
| s2s_secure_auth = true | |
| | |
| authentication = "internal_hashed" | |
| | |
| VirtualHost "chat.realmofespionage.xyz" | |
| |
| ==== Enable Host ==== | ssl = { |
| | key = "/etc/prosody/certs/privkey.pem"; |
| | certificate = "/etc/prosody/certs/fullchain.pem"; |
| | protocol = "tlsv1_2"; |
| | ciphers = "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256"; |
| | } |
| |
| **** | c2s_require_encryption = true |
| | |
| | s2s_secure_auth = true |
| | |
| | authentication = "internal_hashed" |
| | |
| | VirtualHost "chat.realmofespionage.xyz" |
| |
| sudo rm -f '/etc/prosody/conf.d/roe-chat.cfg.lua' && sudo ln -s '/etc/prosody/conf.avail/roe-chat.cfg.lua' '/etc/prosody/conf.d/roe-chat.cfg.lua' | -- End</code> |
| |
| ====== Let's Encrypt SSL Cert ====== | ====== Let's Encrypt SSL Cert ====== |
| **** | **** |
| |
| sudo cp '/etc/letsencrypt/live/realmofespionage.xyz/fullchain.pem' '/etc/letsencrypt/live/realmofespionage.xyz/privkey.pem' '/etc/prosody/certs' && sudo chgrp 'prosody' '/etc/prosody/certs/fullchain.pem' '/etc/prosody/certs/privkey.pem' && sync | sudo cp '/etc/letsencrypt/live/realmofespionage.xyz/fullchain.pem' '/etc/letsencrypt/live/realmofespionage.xyz/privkey.pem' '/etc/prosody/certs' && sudo chown 'prosody':'prosody' '/etc/prosody/certs/fullchain.pem' '/etc/prosody/certs/privkey.pem' |
| |
| ===== Certbot Automation ===== | ===== Certbot Automation ===== |
| ====== Create User ====== | ====== Create User ====== |
| |
| **** | sudo su 'prosody' -s '/bin/bash' |
| |
| sudo -H -u 'prosody' prosodyctl adduser 'espionage724@chat.realmofespionage.xyz' | prosodyctl adduser 'espionage724@chat.realmofespionage.xyz' |
| |
| ====== Services ====== | ====== Services ====== |
| |
| rm -R ~/'prosody-files-'*'.tar.gz' && sync | rm -R ~/'prosody-files-'*'.tar.gz' && sync |
| | |
| | ====== Resources ====== |
| | |
| | * https://connect.xmpp.net/ |
| | * https://inspect.xmpp.net/ |
| | * https://observe.jabber.network/ |
| | |
| | ====== TODO ====== |
| | |
| | * https://prosody.im/doc/backups |
| |