Mailbag: Our Experiences with NodeBB
We received an email asking about our thoughts on NodeBB. I decided to answer here so that others can benefit from the answers as well.
I really like the nodebb forum on your site. I was interested in adding a forum to my site and I wanted to know if you had any advice in terms of integration. Have you had a positive experience with nodebb are there any pitfalls? Is the forum and the main site hosted on the same server, are they both using a MEAN stack?
Thanks! We’ve been pretty happy with NodeBB, in general. The software has improved greatly since we started using it, which was very early on. New features are being added all the time and there’s decent plugin support for any extras you might want. The only downside might be that the modding community isn’t as big as other forum software yet.
As for tech stack, I understand MEAN to be MongoDB, Express, Angular, and Node. While definitely Node based, NodeBB can run on a few different datastores. When we ran our own NodeBB server, we used Redis. However, after migrating to NodeBB’s hosting, our data is stored in MongoDB. I’m not certain about the usage of Express or Angular, but the code is open source, so you can probably find out easily enough.
Hosting your own forum includes a fair amount of pain no matter which software you use. You’ll need to make sure it’s not going down, the datastore needs to be backed up regularly, apply security updates, etc.
With NodeBB, specifically, we had hosted using Amazon’s EC2 service. Getting the Linux environment setup with Node, Redis, and other dependencies wasn’t trivial, although it might be easier now, or if you’re better at that sort of thing than I am.
If you want to host multiple sites on the same box on port 80, you’ll probably need to use something like nginx to pass requests to the various services running on whichever ports. e.g. Use nginx to pass requests for forum.example.com to NodeBB running on port 4567. You can have NodeBB listen directly on port 80, but that requires you to start the process with
sudoand excludes you from having other services on port 80 on that box. (I could be wrong about that since I’m not the most knowledgeable server admin)
As for backups, I had a backup script run via Cron which copied the Redis datastore to an Amazon S3 bucket.
As you can see, the whole thing is fairly complicated. We recently made the decision to pay NodeBB to host the site for us so that we don’t have to worry about any of the above. For me, it became too much of a distraction from making games, which is what I where I’d rather be spending time. That’s not really specific to NodeBB, either; you’d probably have all the same concerns running any forum software on your own servers.
And finally, our main sites are hosted in S3 because they are simple, static HTML pages. When possible this is the best way to host sites since it drastically reduces the overhead of dealing with the moving parts. Static hosting isn’t an option for NodeBB, of course, so we were hosting it on the same box as our self-hosted git repos. (Which we’ve also since moved over to GitLab)
You could also mention that you use Disqus in various places of your main static site.
Pros: It is super-easy to set up.
Cons: Lack of ownership and some control.
If he is just looking for a simple comments system, it could work for him.