Rocket.Chat

From Jon's Wiki

Host your own Slack. Install required bits on Ubuntu 14.04, tweak npm version:

sudo apt-get install npm mongodb-server curl graphicsmagick
sudo npm install -g n
sudo n 0.10.40

Then install it:

curl -L https://rocket.chat/releases/latest/download -o rocket.chat.tar.gz
tar -zxf rocket.chat.tar.gz  # dumps it to a "bundle" directory
cd bundle/programs/server
npm install
cd ../..

Now run it (probably in an init script or wherever):

export ROOT_URL=http://your-internet-hostname.com/
export MONGO_URL=mongodb://localhost:27017/rocketchat
export PORT=3000
node main.js

Then proxy apache2 (or nginx) at it:

<VirtualHost *:80>
  ServerName your-internet-hostname.com
  ErrorLog /var/log/rocketchat/error.log
  CustomLog /var/log/rocketchat/access.log combined

  ProxyRequests Off
  ProxyPreserveHost On
  ProxyPass         /  http://localhost:3000/
  ProxyPassReverse  /  http://localhost:3000/
</VirtualHost>

You may need to add your-internet-hostname.com to /etc/hosts if your IP doesn't directly resolve to the box it's on (e.g. behind a router, in a container, etc.)

127.0.0.1 your-internet-hostname.com

Get letsencrypt to handle the SSL.