NodeBB is awesome; or, Why Discourse isn’t practical

I recently discovered NodeBB, and it’s forum software built on NodeJS, which is fast and seemingly easy on memoryI wrote back in July 2013 about Discourse, which is forum software built with Ruby and EmberJS. I was super excited about it, it looked like it dealt with just about every nitpick I had about modern forum software, and it worked beautifully on the Discourse forums I’ve played with.

However, since then I learned that Discourse is not a practical solution, unless you want to throw more hardware at it. Discourse requires at bare minimum a VPS with 1 GB of RAM, while the recommended amount is 2 GB. For perspective, I run this site, 3 PHP-based forums, and 3 other WordPress sites off of a 512 MB VPS that on average only consumes around 300 MB of its available RAM. That DigitalOcean droplet only costs $5 a month. While it is feasible to run Discourse on 512MB of RAM, the performance decreases just aren’t worth it, and you’d only be able to run Discourse and its dependencies on such a constrained setup anyway. For forums that don’t get a lot of traffic, I just don’t see paying $10 or $20 a month for a bigger VPS just to run Discourse as a good use of my funds.

Ruby’s excessive memory usage makes Discourse not a practical solution for forum software. Maybe in 5 years, it will be. But currently it’s not an option for those trying to save money. NodeBB has a lot of similar features to Discourse, as well as performing much faster on much less hardware. Not only that, but Discourse’s recommended set up is in a virtual machine configuration with Docker, and it’s really hard to work with. So hard, in fact, that the Discourse team recommends hosting your theme assets in a topic, which is really counter-intuitive to me.

In the next month or so, I will be moving my tech/general discussion forum EnigmaBoard over to NodeBB, after using IP.Board for almost 3 years now.