Rocket.Chat

From Bitpost wiki

Server is running, ask Mikey to get you registered at the "secret" registration url.

Clients

The Linux and android clients are tested and working out of the box. How nice.

Docs

Server maintenance

  • To update:
ssh jaws
sudo apt snap refresh
sudo service snap.rocketchat-server.rocketchat-server restart

This supposedly happens "automagically"...? Also, snap updates lag behind release updates. Whatevs.

Server installation

What a clusterfuck of imperfect options...

From source

sudo apt-get install -y git build-essential mongodb nodejs graphicsmagick
cd ~/apps
git clone https://github.com/RocketChat/Rocket.Chat.git
cd Rocket.Chat
curl https://install.meteor.com/ | sh
meteor npm install
meteor npm start

Now FINISH UP

  • Browse to admin panel at http://yourserver:3000
  • Register with rocket.chat (I think you have to to get mobile updates???)
  • Set up an admin account
  • Update haproxy and certbot to support a subdomain that is publicly available

WARNING: RC snaps have SO MANY PROBLEMS, couldn't get it working

Snaps are probably the best bet, but out of the gate you will be set to a fucking ANCIENT channel! Set to the more recent 3.x/stable channel and you should be OK for getting ~monthly stable updates. See this tracks announcement.

sudo snap install rocketchat-server
sudo snap info rocketchat-server

GOD DAMN IT, v2.4? REALLY? KEEP GOING...

sudo snap switch rocketchat-server --channel=3.x/stable
# not needed: sudo snap refresh rocketchat-server

IT'S STILL FUCKED. After the switch/update, fuckgin stpiud ubutni apparmour gets in the way once again. FUCK OFF UBUNTUT. Go here to fix:

# So I have a workaround for this:
sudo emacs /var/lib/snapd/apparmor/profiles/snap.rocketchat-server.rocketchat-mongo
# go to the "Miscellaneous accesses" line

# Add in the following two lines:
@{PROC}/@{pid}/net/snmp r,
@{PROC}/@{pid}/net/netstat r,

# Then reload the profile
sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.rocketchat-server.rocketchat-mongo

Nope, no luck. Full of problems building node-gyp due to c++14 requirements, node-sass and other packages being stale, etc.etc....

Configuration

Once you log in as admin, you get a SHITTON of settings to manage. Important ones:

  • Admin > Settings > search > site > CHANGE THE SITE from http://localhost to your FQDN!
  • I updated my admin layout Content. It includes Home page text, TOS etc.
  • Admin > Accounts > Registration > Manually Approve New Users
  • Admin > Accounts > Registration > Registration Form > Secret URL (URL will be /register/(secret)/ )
  • Admin > Layout > User Interface > Allow Special Characters in Room Names > Toggle ON
  • Admin > Search > Default Provider > Global Search ON (to add a toggleable global search option)
  • Admin > Video Conference > Jitsu > Enable (NOTE desktop app doesn't find my camera, but chrome does)
  • Should I? Admin > Accounts > Registration > Use DNS Domain Check

Enable mobile push

This is not as simple as it should be...

  • Admin > Setup Wizard > Cloud Info > Cloud Service Agree Privacy > Toggle ON

YOU MUST restart server for setting to be applied! This apparently sets:

Admin > Settings > Push > Production read-only toggle ON

This is necessary for mobile chat notifications to work!

  • Register for cloud services
  • When creating an account, I did NOT get email confirmation. I had to use "Forgot password" to reset and get access.
  • Click Register Self-managed, and get the token.
  • Admin > Connectivity Services > Register > paste the token
  • Admin > Connectivity Services > Login to Rocket.Chat Cloud
  • Admin > Settings > Push > Send a test push

Holy hell, it worked!

Move from snap to source

💉 m@jaws  [~] sudo service snap.rocketchat-server.rocketchat-server stop
sudo service snap.rocketchat-server.rocketchat-mongo status|grep Active
 Active
sudo snap run rocketchat-server.backupdb
 [*] Creating backup file...
 [+] A backup of your data can be found at /var/snap/rocketchat-server/common/backup/rocketchat_backup_20210530.2327.tar.gz