Important questions from oldschool xenforo user
-
Okay, first of all Hello, and sorry for my weird english.
I found your forum at some software community, and find it very useful and interesting.
I like it a lot, and i wish to use it in production for my projects, because it's very clear & fast & perfect for my needsI'm old xenforo / ipb forum user. And never touched nodejs / redis / mongo, etc, but already setup the nodebb at my vps / and local pc on windows. After that i was touch control panel / different settings, and now i have many different but very important questions:
- With another forum software (php + mysql based) we have next logic of backups:
- mysqldump database of the forum
- copy forum files
- upload somewhere
So, how to do backups with NodeBB without downtimes? Can you explain some logic or example from live server? (without showing to me official docs, i've already read them)
-
Is this forum software new, or old? What about security? How to make forum maximum secure as i can? With php / mysql based servers i know how to do it (by waf / different restrictions with iptables / nginx rules / etc) What about nodebb security guide? Is nodebb was tested by any security analytic / team? Is it safe to use at production?
-
How to update forum software? Is plan below correct (as i understand):
- get though git latest commits from repo
- restart nodejs & redis?
- ?? profit ??
-
How much memory & resources used by nodebb? I've read some post here around, and as i understand correctly, for 3-4k users & 100+ posts per day + 40000 topics & posts = ~100mb in memory. How about CPU? Can you please give a some formula or scheme how to calculate resource usage?
-
How to move forum software from one server to another server? For example, i found a better solution with the vps, and i wish to move the nodebb to another one. What i should to do? Can you please describe a plan or link me for documentation? Are there any "url-based" problems? Let me explain, some forum apps like xenforo / ipb have tons of problems, after switching the server enveriopment (moving from one to another server). Is nodebb have this problem too? (hard question, and maybe stupid)
-
How to make possible select language for each user in nodebb? I mean one guy from USA, and his main language = english, some guy from russia and his main language is russian. What they must to do for switching their languages to their native?
-
How can i help with translations of some missing parts in nodebb? Where can i start?
-
How to setup nginx + php-fpm & redis + nodejs on the same VPS, where:
- nginx will proxy all connections to nodejs (to make better perfomance)
- Are there will be any conflicts?
- Which database you suggest for usage? Redis or Mongo? I hear a lot of bad things against mongo..
Thx, some of questions looks very stupid & awful, but please, try to understand me:
- i''m new with redis & nodejs, but old with php / sql
- i'm new with nodebb, and i like it a lot
-
Hello @modi,
I'll try to answer some of your questions, I'm pretty new to the node environment aswell so here is what I learned so far
- With another forum software (php + mysql based) we have next logic of backups:
- mysqldump database of the forum
- copy forum files
- upload somewhere
both redis and mongo have dump utilities that work on a live server, for copying files it's pretty much the same as a php board though you can exclude some stuff
- How to update forum software? Is plan below correct (as i understand):
- get though git latest commits from repo
- restart nodejs & redis?
- ?? profit ??
pretty much, this is what works for me
./nodebb stop git checkout <current-stable-branch> git pull ./nodebb upgrade ./nodebb start
- How to move forum software from one server to another server? ... Are there any "url-based" problems? ...
not in the default configuration you just replace the address in the config.json with the new one
- How to make possible select language for each user in nodebb? I mean one guy from USA, and his main language = english, some guy from russia and his main language is russian. What they must to do for switching their languages to their native?
users can change user account settings or https://community.nodebb.org/topic/8148/language-selection-at-registration-time/
- How can i help with translations of some missing parts in nodebb? Where can i start?
https://community.nodebb.org/topic/687/help-translate-nodebb/
though i would message some admin first since I don't know the progress of being assigned to a language team- How to setup nginx + php-fpm & redis + nodejs on the same VPS, where:
- nginx will proxy all connections to nodejs (to make better perfomance)
- Are there will be any conflicts?
nginx reverse proxy can be found in the documentation and in various forum threads here, no conflicts if configured correctly
I left the stuff out I have no expertise in, I hope this was somewhat helpful. I'm sure someone else here can answer your remaining questions. Good luck!
-
@phit said:
Hello @modi,
I'll try to answer some of your questions, I'm pretty new to the node environment aswell so here is what I learned so far
- With another forum software (php + mysql based) we have next logic of backups:
- mysqldump database of the forum
- copy forum files
- upload somewhere
both redis and mongo have dump utilities that work on a live server, for copying files it's pretty much the same as a php board though you can exclude some stuff
- How to update forum software? Is plan below correct (as i understand):
- get though git latest commits from repo
- restart nodejs & redis?
- ?? profit ??
pretty much, this is what works for me
./nodebb stop git checkout <current-stable-branch> git pull ./nodebb upgrade ./nodebb start
- How to move forum software from one server to another server? ... Are there any "url-based" problems? ...
not in the default configuration you just replace the address in the config.json with the new one
- How to make possible select language for each user in nodebb? I mean one guy from USA, and his main language = english, some guy from russia and his main language is russian. What they must to do for switching their languages to their native?
users can change user account settings or https://community.nodebb.org/topic/8148/language-selection-at-registration-time/
- How can i help with translations of some missing parts in nodebb? Where can i start?
https://community.nodebb.org/topic/687/help-translate-nodebb/
though i would message some admin first since I don't know the progress of being assigned to a language team- How to setup nginx + php-fpm & redis + nodejs on the same VPS, where:
- nginx will proxy all connections to nodejs (to make better perfomance)
- Are there will be any conflicts?
nginx reverse proxy can be found in the documentation and in various forum threads here, no conflicts if configured correctly
I left the stuff out I have no expertise in, I hope this was somewhat helpful. I'm sure someone else here can answer your remaining questions. Good luck!
yes it is, your very simple answers help me a lot. Thank you very muc! Now i understand.
-
@modi said:
- Is this forum software new, or old? What about security? How to make forum maximum secure as i can? With php / mysql based servers i know how to do it (by waf / different restrictions with iptables / nginx rules / etc) What about nodebb security guide? Is nodebb was tested by any security analytic / team? Is it safe to use at production?
It's quite new, just reached
v1.x.x
. Earliest 'release' (v0.0.3
) on Jul 16, 2013.
About security it shouldn't be different from your other servers; set up a firewall and nginx rules. Make sure you're not running NodeBB as root, password protect (and restrict access) your database server. There is no special security team AFAIK; nonetheless if you set up a custom user for NodeBB there is no way for NodeBB vulnerabilities to affect your system. It is safe for production with the previous considerations in mind.- Which database you suggest for usage? Redis or Mongo? I hear a lot of bad things against mongo..
I always prefer mongodb. Basically redis is in-memory, so it needs more RAM and needs proper configuration to prevent data loss on shutdown (which has happened some times, use the search for more info). Due to this - at least I assume so - NodeBB nowadays has mongodb set as standard. The speed advantage of redis in my opinion is not crucial (I cannot tell you which db one is using by looking at the speed), but this is up to every admin itself. I cannot think of any "bad things" against mongo... for me it's more bad things against redis as several data loss topics on this board illustrate.
About point 4 I cannot tell you anything relevant. There is no benchmark on this I have knowledge of. I guess it'd be better if you could provide some numbers you're going to face (and maybe hardware specs you're considering/having) instead of searching for a general formula. This way anyone who had more experience with this could probably provide an approximated answer.
-
Hey there. Basically I have a forum around the same size as yours. I moved from myBB to NodeBB.
I am using NodeBB since almost a year now.
Security isn't an issue. There have been some XSS vulnerabilities here and there, but these have been patched within a few hours.
Updating NodeBB is easy as well, you just run git pull, stop your forum, run ./nodebb upgrade and then start it again. No need to restart NodeJS or Redis/Mongo.
Setting up a system running PHP and NodeJS is fairly simple. Maybe take a look at my tutorial "High performance stack".
Moving NodeBB is pretty simple too. Just copy all the files to your new machine and run ./nodebb start. Thats it (assuming you have your stack installed of course).
NodeBB automatically chooses the right language for your user. At least my members got their mother language. Alternatively the users can set the language in their profile settings.
My forum is using a Redis database. It takes around 500-700MB RAM, not a big deal for me, but depends on your server of course.
To contribute to the NodeBB translations you can check Transifex and participate.
If you want I can help you doing the movement. Feel free to drop me a message.