NodeBB multisite / network feature?

Feature Requests
  • Hello!

    I am new to node and nodebb and really enjoy the UI!

    Would it be possible to have some kind of multihost / multisite / network feature?

    I imagine having multiple alias domains / hostnames point to the same nodebb.

    Then something like this:

    1. A database collection "sites" holds site information like hostname, title, ...

    2. Each request checks the current hostname and loads the corresponding (cached) site information

    3. When saving topics/comments/users, the current site_id gets saved too.

    4. When retrieving topics/comments/users from the database, results will be filtered by current site_id.

    This would allow to run multiple, unrelated sites in a network style. Admins could add new sites easily to the network through the admin panel, and then just point the new domain to the same nodebb installation.

    What do you think? 🙂
    Sorry for incorrect English.

  • It sounds like you want to create something like stackoverflow or Enjin, essentially a social network of sites?

    I don't think there's any mechanisms in NodeBB to handle such things. Maybe you could have multiple installs sharing user data? I'm not sure how/if that would work.

  • Thanks, yes it should be a network of sites, but they don't neccesarly need to share users or anything, only the code base should be shared.

    I think a database approach to multiple sites has several advantages over separate installations:

    • New sites can be created through the backend in seconds
    • No duplicated code base
    • All sites get the same upgrades, theme files

    A downside is probably performance when a site get lots of traffic, but then it could still be decoupled to a standalone instance.

    Are there any plugin hooks that would allow to add a site_id every time something is saved to the db, and filter by it every time something is retrieved from the db?

  • NodeBB integrates with WordPress and WordPress has a network mode. I'm not sure if that would work. Worth a try using a test set up?


  • I don't think this would work either, however if you are interested to boost your websites speed and make it reachable for users world wide, I would recommend working with GeoIP.

    You could setup 1 server in the US and 1 in the EU. Additionally you can configure a dedicated database server, if you want a second one it gets a bit tricky as you need them synced.

    That is just one of many possibilites. You maybe also want to consider "classic" methods like a CDN.

  • Thanks guys, that's unfortunately not what I am looking for. I want only one server and one installation, but have nodebb load content / use a database that depends on the current request.hostname

  • Multi-tenancy would be a great feature for NodeBB.

Suggested Topics

  • nodeBB creates users in bulk

    Unsolved Feature Requests
    0 Votes
    1 Posts

    There are more than 8000 users at present. Does nodeBB have a plugin to create users in bulk or tell me how to do it

  • 3 Votes
    7 Posts

    @julian I think we've got it working albeit without the splitting out of objects to multiple collections. I think we'll probably tackle that as well, fortunately it should be relatively straight forward since the keys are already prefixed with a logical collection name e.g "post:1380" or "user:100".
    In the meantime we have some testing ahead of us to ensure that nothing breaks.
    We're happy to maintain it ourselves, but I think you guys should consider adding it as a core database. It gets NodeBB one step closer to being the first true "cloud native" forum platform. The only thing left would be splitting the UI from the API services and you would be all the way there.

  • 0 Votes
    5 Posts

    @arasbm, if NodeBB cannot establish a steady socket connection with a user, it should drop down to xhr polling automatically.

  • MultiSite NodeBB

    Feature Requests
    2 Votes
    3 Posts

    Like, and ?

    You just need to setup NodeBB on two different ports, and have nginx serve them to your appropriate subdomain. What's your current setup like?

  • 6 Votes
    25 Posts

    Will resetting the plugin do the job (as in nodebb reset plugin persona ) ?