I, for one, will agree with @cregox that one could argue that NodeBB isn't free, because you're paying for hosting it.
However, in the same vein, none of the service he mentioned are. On Facebook you're paying with your privacy, by viewing ads AND you're paying for a device capable of running a web browser or a facebook app!
Same thing applies to basically all services like that. You can't escape paying for something down the road, though sometimes the price is your time and attention or your data instead of money
That's why usually to consider something to be free people only consider the price of that thing by itself, and not other things that you might need for your use of the product.
For example - if you got a car without paying for it, would you not consider it free even if you didn't get lifetime supply of gas to go with it? I think most people would consider that car to be free.
Usually the same applies to software. Blender is considered to be free, despite requiring a powerful enough machine to run it which isn't free. You probably got your web browser for free - which is now basically taken for granted despite not having been common in the past - but you still need to pay for your computer, internet connection and electricity. And you most likely don't count these as a price of the browser.
Also, it actually is possible to host NodeBB for free.
Here is a quick example running on glitch: https://nodebb-example.glitch.me/
It's using free tier of MongoDB Atlas to store data, so the DB can grow to up to 512MB without incurring any costs. You can find the details, instructions and remix it here: https://glitch.com/~nodebb-example
Just a warning that this hosting is far from perfect - it has quite a few limitations and while you can work around most (for example apps being put to sleep after around 5 minutes without connections - just use a service like uptime robot to ping it every 5 minutes), it's still probably only a solution for really small forums.
You can find a few other services that might run NodeBB for free on free-for.dev but I just wanted to test glitch so that's what I used.
There are some guides for heroku, though I'm not sure if they work with the free tier ¯\_(ツ)_/¯
Hmm... I might check some other and create some guide on hosting NodeBB for free for small forums...
EDIT: also, just a note about this glitch instance - it has a few lines modified, though I'll have to look into it again since I was making the changes in the middle of the night, so I'm not entirely sure if the changes were necessary. But basically,
nconf wasn't correctly configured to use environmental variables in at least one file that can be used to start NodeBB.
I think I'll check it later and make a PR to fix this
Oh, I wrote most of it before the last comment here, so I'll also have to disagree with @julian - hosting can be free (as shown here) and custom development can be free too if you do it yourself
(I mean, except the time spent on it...)
And I'm actually net positive when it comes to spending money on hosting NodeBB, since the one bug bounty I got is still higher than what I spent on hosting NodeBB in total