SpeckleServer Deployment notes on Ubuntu 18.04

Hi, I’d like to share my experience on deploying SpeckleServer on Ubuntu 18.04.
Basically, I followed guide on Speckle Server Debian 9 installation notes for development machines. Thanks @avanwaart.
But I faced some issues and then messed up. Luckily, I got @dimitrie 's help and solved the issues, and learned some tricks. My issue was discussed here.
Here’s a summary:

  • Follow Speckle Server Debian 9 installation notes for development machines
  • Remember to test SMTP authentication before you register any user. If smtp failed to send verification email, I think the only way to verify an user is to edit user’s "verified" attribute in mongodb (which should be avoided).
  • You can use Let’s Encrypt Certificate for your local server also. You need to have a domain that has A record point to you local IP. Then you use certbot to generate a token: sudo certbot -d your-domain.local --manual --preferred-challenges dns certonly. Then create a TXT record with key: _acme-challenge.your-domain.local, value: token generated by previous certbot command.
  • Don’t ever change SESSION_SECRET when you’re running your server. If you did, it’s better to change MONGODB_URI to use other db than default speckle.
  • If you want to see how SpeckleRevit communicate with SpeckleServer, you can click on the CK letters in the title SPECKLEREVIT (upper left corner of SpeckleRevit window).
  • Upon adding new account to SpeckleRevit, if you’re sure your server url is correct but Add new account button doesn’t light up, add a space or /api to the url. I had to do it every time.