How to Set Up Prosody for You and Your Friends: Difference between revisions

no edit summary
(Created page with "[https://linuxreviews.org/Signal_Appears_To_Have_Abandoned_Their_AGPL-licensed_Server_Sourcecode Signal seems to have gone closed-source.] I like Signal a lot but there are so...")
 
No edit summary
Line 7: Line 7:
= Step 1: Get a Domain Name =
= Step 1: Get a Domain Name =


Yeah, if you're self-hosting then you pretty much need to set up a domain name for your server. Sucks, but thems the breaks. I bought a .xyz domain for $1 and pointed it at a [https://noip.com No-IP] domain, then set up my router to do DDNS with No-IP.
Yeah, if you're self-hosting then you pretty much need to set up a domain name for your server. Sucks, but them's the breaks. I bought a .xyz domain for $1 and pointed it at a [https://noip.com No-IP] domain, then set up my router to do DDNS with No-IP.


= Step 2: Install Prosody =
= Step 2: Install Prosody =
Line 38: Line 38:


= Step 5: Get the Prosody community modules =
= Step 5: Get the Prosody community modules =
A few plugins we need are part of the Prosody community modules repository.
First, install mercurial.
apt-get install mercurial
Then download the community modules repository somewhere. I put it in my home directory but you can put it anywhere.
hg clone https://hg.prosody.im/prosody-modules/ prosody-modules
= Step 6: Set up the community modules =
Since Prosody scans plugin directories for everything, and some modules are part of both the community repository and the default pack-in Prosody collection, they recommend creating a separate folder called <code>prosody-modules-enabled</code>, adding THAT to Prosody's plugin path, and then symlinking the modules you want into the directory. So let's do that for the modules we want to use.
mkdir prosody-modules-enabled
cd prosody-modules-enabled
ln -s ../prosody-modules/mod_cloud_notify
ln -s ../prosody-modules/mod_http_upload
ln -s ../prosody-modules/mod_muc_cloud_notify
ln -s ../prosody-modules/mod_smacks
mod_cloud_notify and mod_mud_cloud_notify enable mobile clients such as ChatSecure, Monal and Conversations.im to send push notifications to your phone when you receive a message.
mod_http_upload enables you to share pictures and files in your chats.
mod_smacks is an enhancement which allows spotty or terminated sessions to be resumed without discarding messages in the queue. This is useful for mobile devices on mobile data networks.
= Step 7: Enable the modules =
Go back into <code>/etc/prosody/prosody.cfg.lua</code> and set a few things.
Add your <code>prosody-modules-enabled</code> folder to the list of <code>plugin_paths</code>
plugin_paths = { "/home/pi/prosody-modules-enabled" }
Add these 3 lines inside the <code>modules_enabled</code> table:
"cloud_notify";
"smacks";
Enable other modules as you see fit. My complete <code>modules-enabled</code> table looks like this: