I have NodeBB running, would like to add Wordpress

General Discussion
  • Okay, i've been running NodeBB at my site for a couple of months now and really like it. However, Ghost (the blogging platform) doesn't really offer what I need to expand my site to serve other content, such as news articles and blogs, so i'm looking to add Wordpress to the mix.

    My setup: Ubuntu, Nginx, Redis, NodeJS (all updated as of today)

    I have also installed PHP-5 and MySQL to use for Wordpress. Neither are in use for anything else at the minute.

    My problem is, while I was fine with Apache, i'm not too great with Nginx.

    Currently, the forum runs on http://www.onlyanexcuse.com - i'd like to move it to a subfolder or subdomain (the latter I believe is the better option?).

    So to do this, what:

    • would I need to do within NodeBB to ensure all paths are correct when I change it to a subdomain (if anything?)
    • how would I point the domain to the Wordpress installation in Nginx
    • OR would starting another DigitalOcean droplet and using it purely for Wordpress be better (instead of sharing resources of a single, upgraded one), and if so would I be able to link the two easily?
    • and by doing that, would the blog commenting engine plugin work?

    The last option is one which has been ticking over in my mind, to keep things tidy I thought keeping them separate may be the best option. Linking the two and making them work together with blog commenting are my main concerns. I don't mind spending a couple of quid a month more for a more flexible system if it works better.

  • What kind of specs are you using right now for the NodeBB install?

    From what I know, the blog comments plugin should work fine with Wordpress. Let us (@psychobunny specifically) know if you run into troubles.

  • @julian - 1GB memory, single core, 30GB SSD & 2TB transfer. I don't think I'd have problems with them running on the same server but if there's the increase in traffic I hope for from adding Wordpress I realise the strain it may cause.

  • NodeBB is fairly resource light, although memory is the limiting factor, for both Redis and MongoDB, since:

    • Redis likes to have everything in memory, and may crash if the dataset is larger than available system (or per-process) memory
      • To be specific, Redis likes to have 2x the memory of its dataset, since a database dump essentially duplicates the in-memory data, and then flushes it to disk.
    • MongoDB likes to have everything in memory, but will use swap file as necessary

    With 1 core, you'll see issues where registrations and logins will lock up the server (for 1-2 seconds at a time), since the CPU is tied up in hashing the user's password. For low traffic forums, this is a non-issue.

  • Thanks @Julian - i've set up a separate droplet on DO so that will alleviate any problems that may cause; and if either side of the site needs more resources it's a case of increasing as required.

    Any ideas on how best to configure the domain to run the Wordpress install at it, and use a subdomain to point to the forum?


    http://www.onlyanexcuse.com - Wordpress install
    http://forum.onlyanexcuse.com - NodeBB install

    Bear in mind the droplets have different IP addresses, would this cause any problems if I set up the blog comments plugin?

  • @Danny-McWilliams I did EasyEngine and was really impressed https://rtcamp.com/easyengine/

    1. I have wordpress and nodebb on the same droplet
    2. I did connected the comments section and replaced with nodebb, but also i think it would be a great idea to have additional widgets for wordpress in order to promote Community > Like NodeBB users widget / popular topics and etc

    As far as subdomain goes you will need to change DNS settings withing digital ocean cpanel and then edit nginx config file.

  • @Bobber thanks, that looks pretty cool! I'll have to give this a try.

  • Edit: scratch all above. I've managed to sort it. Must have been DNS taking its time.

  • Hi @Danny-McWilliams I had a look at your Scottish football forums and NodeBB is working well and looking good.

    I saw that you switched from Vanill and that it caused you problems. I only came across NodeBB this evening and until then had been considering switching from BBPress in my WordPress site to either Vanilla/Discourse/VB (though I'm considering NodeBB now too).

    May I ask what issues you had with Vanilla?


  • NodeBB runs on Node.js and Discourse on Ruby on Rails (can only be installed and updated via Docker).

    To run Vanilla and vBulletin you need PHP/MySQL just like for WordPress and bbPress.

  • Hosting Discourse is expensive, you can't install docker on OpenVz Vps, the community of discourse is not very good, there aren't a lot of plugin and isn't lightweight like nodebb. I don't like php based forum boards like phpbb, mybb, xenforo ecc. so difficult to make themes and plugins and don't take advantage of the full potential of JavaScript , they are so static.

  • @WhichInv thank you, it's working well for us - the problems I had with Vanilla were accumulated over time through my own faults and inexperience, other were ongoing issues with the software. I first installed Version 2.0 and instead of a stable version, opted for the latest development builds which I updated regularly. I was an early adopter of 2.1 and the dev builds of that version.

    My main issues came with the database. A couple of times the normal upgrade method wouldn't quite cut it, so it was just as simple to install a fresh forum and hook up the database. Other times I used importer to fill the database. Over time, things went missing and sections of the database became corrupt and in trying to install the latest stable version, I'd somehow messed up the database trying to alter things and it was a lost cause.

    The other main issue was a combination of spam and registrations. Vanilla is a magnet for spambots, and numerous measures need to be taken to ensure that they're kept at bay. Spammers 90% of the time were registering, flooding the activity feed (which they can access if you don't set permissions properly) and going, even before confirming registration.

    There are detailed methods to prevent spam outlined in the forum at vanilla, but it eventually got so unwieldy that it put off registrations. For example, to register we had a "are you human" question (a sum), a recaptcha, username, password and "why do you want to join" question, on top of email validation, Stop forum spam, Akismet... so either new users were put off (unless they used SSO) or locked out of using the forum.

    Then, for almost 5 months last year we were unaware people couldn't register because there was an issue with recaptcha; it didn't show on the registration page (that was a theming issue), I thought there wasn't one there and no-one could register because they couldn't see it to fill it in!

    That's not to say I wouldn't recommend Vanilla - it is excellent, and has a wealth of plugins to get things done, with a busy support community - if you set it up properly.

    I am enjoying NodeBB and though I promised I wouldn't use something in development again, I have been pleased with both its features and ease of use for our users - I wanted something similar enough to Vanilla for them to adopt.

  • @DevPre I don't mind that there aren't many plugins because plugins are the main reason BBPress is so bad. Many of them are abandoned and forgotten by their creators. As a result when WordPress or a plugin is updated there are frequent problems caused by something to do with BBPress that takes ages to pin down.

    NodeBB's large number of Plugins worry me, especially because I can find no reference to plugin quality control.

  • @Danny-McWilliams Wow wee bit of a journey you had there. looks like you managed to retain enough of your community though to keep your forums viable which is good going.

    I'm not a football fan (though I pretend to support Motherwell/Arsenal - won't catch me watching them play) but there are a healthy variety of topics with active conversations on your forum.

    Have you had a look for a Wordpress theme centred around forums? I haven't either but there are all sorts of themes on Themeforest, and they rarely cost more than USD $50.

Suggested Topics

  • 0 Votes
    18 Posts

    Yes you can use them inside the AMD module but keep in mind once you add an event listener on the window object it will be called everytime there is an action:ajaxify.end. If you don't want it triggered after you leave that page you need to turn it off with $(window).off('eventName', myMethod)

  • NodeBB feature list

    General Discussion
    0 Votes
    1 Posts

    NodeBB looks awesome.
    Where could I find the full list of features? Thanks.

  • 0 Votes
    6 Posts

    @rnovino said:

    @julian documentation is not even clear on how to use the plugin is there any tutorial on how to import the wordpress post to nodebb

    The question would be what your actual question is. I do not want to offend you, but the doc is quite clear for me.

  • 0 Votes
    1 Posts

    While browsing the 'net, I found a neat little IETF draft standard called JWT (JSON Web Tokens).

    Basically, the idea is that instead of having sessions on the server and a cookie to match a HTTP request to one of those sessions, one or more claims (i.e. user ID or admin status) are stored in a JSON object which is then signed by the server. (currently through either HMAC, RSA or ECDSA)
    The client then stores this in usually either localStorage or sessionStorage and sends it along in an HTTP header with any request requiring authorization.

    For example:

    client logs in with username "Example" and password "password" server if user and password match, issue a JWT containing the payload { 'userId': 47 } and send it to the client client stores the JWT in sessionStorage (later) client creates a new topic and sends the JWT along in the Authorization HTTP header server validates the signature in the JWT from the Authorization header with their own secret/key and if it's OK, uses the data from the JWT in the processing of the request
    (in this case, the userID of 47 is used as creator of the topic)

    Pros of JWT:

    The server doesn't need to store sessions!
    => less load on the server
    & no shared session store is needed when scaling horizontally as long as all instances share a secret or public/private keypair No cookies => no CSRF!


    XSS becomes more dangerous - any malicious script with access to the client's localStorage or sessionStorage for a site can fully impersonate the user until the token expires or is deletes

    There might be more cons & pros, I am neither good nor experienced enough to fully understand everything 😛

    ("everything" is a lot though, I do have trouble with way less than that 😒 anyway, don't take my words for granted, do your own research, etc. etc. you know the drill 😛 )

    Some links:

    General introduction: http://angular-tips.com/blog/2014/05/json-web-tokens-introduction/ Slightly more detailed introduction with INFOGRAPHICS(ish): https://auth0.com/blog/2014/01/07/angularjs-authentication-with-cookies-vs-token/ Web-based token decoder: http://jwt.io/ Express middleware: https://www.npmjs.com/package/express-jwt
  • 0 Votes
    7 Posts

    Actually it was an update pushed in the last couple of hours which have solved the issue. At least on one of the plugins which I have tested. I hope it will be the same way on all the plugins. Thanks for your help.