You are RIGHT!!!
This problem really came from node version I installed in my laptop. To make "npm link" without sudo I was using nvm to install NodeJS and I forgot to select version 12.17.0.
Great teams. Thanks a lot!
@macfan provider hetzner
@macfan We host it ourselves, but our AWS bill is about what we'd pay to host it here for the entry level and our activity it between level 1 and 2 options. That also doesn't include the considerable amount of time I spend testing, maintaining and keeping things running.
Paid hosting isn't for everyone, but it's a lot of work to do it yourself.
@macfan ...so expensive compared to what?
Summary of the price entry points:
FREE - On your time, on your dime - light & heat, food to eat
Free at a price - $5 p/month / $60 annual - DIY install, 3rd party Host (e.g. Digitalocean base droplet)
Paid Tiers: Start form $250... up to "how deep is your pockets"
So cost of living only drops for robots ... figures.
@julian Were I needing to minimize costs as much as possible, I would be considering repurposing a retired PC running Unix/Linux (whatever whomever is going to undertake this endeavor favors), set up DynamicDNS, and then route everything to that PC. Maybe put an OpenBSD packet filtering router ahead of everything to keep packets sorted. Toss an inexpensive but high VA UPS into the mix....
Zero additional costs since piggybacking on existing internet connection. Presume low traffic/development box. Once you need more, you will hopefully be able to afford a virtual machine from your preferred provider.
My shootin' from the hip $0.02. You get what you pay for. Caveat emptor.
@gotwf The reason why we went with DigitalOcean (or Linode, or Hetzner, or any other "VPS as a service" offering) is because I explicitly don't want to handle bare-metal servers.
There are significant cost-savings to be had, but at the same time, if things go belly-up on a Sunday at 3 in the morning, who gets paged? Me!
On the other hand, using DO give us significant cost savings compared to if we had built our infrastructure on Heroku, GCP, AWS Lambda, etc...
On the latter point, I haven't actually done the math, so maybe a deployment on Lambda could end up being more cost effective, so who knows.
All I know is I also like shell access
But for five bucks at an yard sale even the most financially challenged can play around with NodeBB, for near free, presuming an existing Internet connection, if they are willing to do the work.
Cost benefit ratios are not static bottom line beans, but rather fluid, dynamic, contingent upon perspective. The cost of a $5/mo vitrual machine is, indeed, in the eye of the beholder... errrmmmmm..... responsible party.
@julian I need to look harder, cause I can't find that $4 deal!
If you're a small user, are willing to spend some time tinkering without considering it a form of payment and can accept signing your soul to Oracle, forever doomed to enterprise marketing calls (actually seems like they stopped that some time ago, used to be that when you created a free account you'd get at least one call asking you about what were your needs and what would you need from Oracle Cloud to realize them or something like that), you can actually host NodeBB entirely for free.
Oracle Cloud seems fairly desperate to grab customers and as such is offering a fairly absurd Always Free tier, with a max of 4 VPS servers with 4 ARM cores (and a single hyperthreaded x86 core) to divide between them.
NodeBB works totally fine on ARM - Node is thankfully mostly platform agnostic - so after getting through some small networking hurdles if you're using Ubuntu (just install
firewalld. It's the easiest way to make their default iptables config just work without the risk of making the VM unbootable by blocking its iSCSI boot disk, which ufw can apparently do), or just going through a normal config on Oracle Linux (Oracle packaged RHEL) or CentOS*, it works totally fine.
I didn't test it on a single core instance, but on 2 cores (admittedly, with some other things running in the background) a full build takes 63 seconds in total, with webpack responsible for 53 of those, which seems reasonable enough.
A fresh server hosted on the VPS I was testing the build times on, if someone wants to check how well it works: https://demo.nodebb.opliko.dev/ (I will probably shut it down in a few days though)
You can host for free without a standard VPS too. There is always Heroku, Railway and Glich, which both offer essentially a small server with a shared core and 512MB of RAM, (and fly.io which lets you run 3 apps with a shared core and 256MB of RAM, but I think it might be worse for this purpose) though under slightly different models than a VPS. I've seen people run NodeBB on Heroku here before, and have got it to work on Glitch as an experiment, though I'm not sure how the switch to Webpack affected build times - at least on Glitch they were quite slow before 2.0 already. But it's not like you need to do that often.
When it's running though it works fine, but I wouldn't try to run a DB alongside them there even if you could - for that you'll probably want a free MongoDB Atlas instance, which is quite neat, but limited to 512MB of storage, so not suitable for a large forum
So on the topic directly - NodeBB hosting isn't really more expensive than any other app that requires a connection with a server-side component and a database.
It's just that few PHP applications had the connection part and since they were so popular received first class support across web hosts, but we're currently seeing a major change in that paradigm as newer universal (railway, fly, heroku was really ahead of its time) and "serverless" (every cloud host now has one...) runtimes become commonplace.
The latter are probably now starting to become feasible for a NodeBB-like app, as more and more start supporting websockets for real-time communication (AWS Lambda, Cloudflare Workers, Deno Deploy/Netlify Edge Functions).
So as an aside @julian I just wanted to note that you probably didn't do math on Lambda paritally because it only made sense since 2019 when it WebSocket support via API Gateway
In the meantime, just renting a small VPS has also become absolutely affordable for individuals - there are many hosts that offer something reasonable for <$5 a month (Hetzner that was mentioned before, OVHCloud which I used for some time and was also totally fine, Vultr, Hostinger and quite a few others with similar models and pricing. Even on AWS you can get something decent for that price if you're willing to reserve it for a year or more).
The managed hosting is for larger sites and aimed at businesses/groups, not people who just want a place for a few dozen people. And for them labor costs might eclipse the managed hosting quite quickly.
Also, the hosting pays for development and maintenance of the software, so I find a bit of a premium to be quite reasonable. OSS doesn't make itself yet, and I personally find the "offer managed version" to be one of the most reasonable ways of maintaining it that doesn't rely on pure goodwill of the community.