Skip to content

Technical Support

Need help with installing or configuring NodeBB? Look here.

4.7k Topics 26.1k Posts

Subcategories


  • User documentation for NodeBB

    44 Topics
    44 Posts
    Jay MoonahJ

    One of the first important things to do after setting up NodeBB is to set up an emailer plugin. While NodeBB does include a local emailer, if your forum is particularly active we recommend using an third-party emailer such as SendGrid which provides better deliverability for sites that send a high volume of email. Setting up SendGrid in NodeBB is very easy.

    Open the administrative dashboard using the 'gear' icon on your forum. Open the Extend > Plugins menu, and select the Find Plugins tab. Use the search on the right. Type 'SendGrid' and the plugin should appear -- select Install when you see it. From Installed tab on the Plugins menu, search again for 'SendGrid' and select Activate. Activating the plugin will require a restart of your forum. To restart, select the Dashboard menu and press the Restart button to the right. After NodeBB restarts, the SendGrid plugin will be active.

    After you restart, there should be a item called Emailer (SendGrid) under the Plugins menu -- if you don't see this right away, try refreshing your browser.

    Sign up to SendGrid

    Go to the SendGrid website, open the pricing page and scroll to the bottom. Click on the link and create your free account. Once you've confirmed your SendGrid account via email, you should be able to login to the SendGrid website. On the left side of your SendGrid dashboard, open Settings and click on API Keys. Click the button in the top right to create a new key. Make sure that the key has Full Access for Send Mail and Alerts.  When you are done, the new key to your clipboard.

    Now, return to the SendGrid menu on your NodeBB admin panel. Paste the API key into the field, and save your changes. Now go back to the Dashboard to restart your forum one more time.

    SendGrid should now be working for your forum.

    YouTube Setting up SendGrid mailer for NodeBB

  • NodeBB guides, how-to's and general tips and tricks

    82 Topics
    599 Posts
    barisB

    Quick start plugin has an example on how to add a new api route https://github.com/NodeBB/nodebb-plugin-quickstart/blob/master/library.js#L40-L76.

    The hooks that are fired client side are for client side code in plugins. If you want to pass data from the client to the server you have two options.

    Create an api route like in quick start plugin Create a new socket event listener on the server side and use socket.emit() client side. Example here
  • 25 Topics
    196 Posts
    phenomlabP

    @baris updated to 3.7.2 and now just waiting for the plugin to be updated.

  • Login to Widget

    2
    0 Votes
    2 Posts
    384 Views
    G

    @TestNew-dsdsds who can help ?

  • 0 Votes
    2 Posts
    1k Views
    PitaJP

    Link Preview Image [FAQ] Websockets not working due to misconfigured origins

    This FAQ is applicable for the following situations: You're receiving the following error in the Javascript console: WebSocket connection to 'wss:///socket...

    favicon

    NodeBB Community (community.nodebb.org)

  • Can't register or log-in to Admin account

    5
    0 Votes
    5 Posts
    730 Views
    Madeline JonesM

    Resolved - I needed to run ./nodebb restart

  • Disable 1 out of ?? function? - BUG

    10
    0 Votes
    10 Posts
    905 Views
    D

    Just wondering if there is any update on this bug?
    From what I can see, its still breaking the menu and forcing the 2nd line.

  • 0 Votes
    4 Posts
    461 Views
    gotwfG

    @roy-miller

    Well, maybe you don't get precisely the option you prefer baked in but you may want to explore the alternatives, wh/at the least provide something rather than a blank "No one has replied". I favor the "Last - Show the latest post, including original post, if no replies" variant, wh/displays a leadin teaser snippet from the original post if no replies. Teaser is aptly named as provides a "taste" of what the thread may be about.

    Otherwise... I gots nothin' for ya.... Good luck!

  • Heroku deployment issue

    2
    0 Votes
    2 Posts
    652 Views
    julianJ

    Are you running this on your local machine? Do you have build-essentials installed?

  • nodebb, nginx, and modsecurity?

    5
    2 Votes
    5 Posts
    750 Views
    gotwfG

    Maybe not a lot of interest in this due to complexity of deploying/configuring ModSecurity, combined w/absence of nodebb stack specific rulesets. Security is difficult so not much can be done about the deploy/config aspects but ModSecurity devs are starting to focus some efforts on the latter.

    For those interested, and willing to roll up their sleeves, development of node.js targeted attack ruleset is slated for next release of OWASP CRS, scheduled for Sept. 2019. More info here:

    Link Preview Image some node.js unserialization + javascript RCE snippets by lifeforms · Pull Request #1487 · SpiderLabs/owasp-modsecurity-crs

    Libraries performing insecure unserialization: node-serialize: _$$ND_FUNC$$_ (CVE-2017-5941) funcster: __js_function See: https://opsecx.com/index.php/2017/02/08/exploiting-node-js-deserialization-bug-for-remote-code-execution/ https://www.acunetix.com/blog/web-security-zone/deserialization-vulnerabilities-attacking-deserialization-in-js/ Some generic snippets used: function() { new Function( eval( String.fromCharCode( Last two are used by nodejsshell.py, https://github.com/ajinabraham/Node.Js-Security-Course/blob/master/nodejsshell.py As base64 is sometimes (but not always) used to encode serialized values, use multiMatch and t:base64decode.

    favicon

    GitHub (github.com)

    P.S.; Obviously ModSecurity can be deployed on Apache setups as well but my sense is that Nginx is the overwhelming favorite w/the nodebb community and I didn't want to start a new thread.

  • Variables in widget (html)

    5
    0 Votes
    5 Posts
    464 Views
    G

    Use data from Maciev ajaxify.data.loggedInUser To check the data in the array, enter
    ajaxify.data.loggedInUser in the browser console

  • using loggedInUser in "/categories"

    2
    0 Votes
    2 Posts
    374 Views
    barisB

    Do this for the filter:categories.build hook as well

  • Nginx Pagespeed configuration

    1
    0 Votes
    1 Posts
    215 Views
    R

    is it a good idea to use nginx pagespeed module. If possible, then can you please share your experience?

    How to install nginx pagespeed module on existing centos 7 server? Which configuration shall i put in nginx.conf file?

    Thanks in adavance

  • Help upgrading

    6
    0 Votes
    6 Posts
    634 Views
    PitaJP

    You have managed to mess up the file permissions in the NodeBB directory. You should always execute ./nodebb, npm, and git commands under the same unprivileged user, which means no sudo.

    You will need to recursively chown the nodebb directory back over to whatever unprivileged user should own it.

    What upgrade instructions are you trying to follow?

  • Set up NodeBB with AWS

    2
    0 Votes
    2 Posts
    405 Views
    gotwfG

    Not AWS specific but maybe this is what you're looking for? Should be able to get you there.

    Hell's bells... No clue why that link a'la old school markdown syntax is broken. Try this:

    Link Preview Image Ubuntu (Recommended) - NodeBB Documentation

    favicon

    (docs.nodebb.org)

  • 0 Votes
    1 Posts
    251 Views
    gotwfG

    Not an nginx guru so please bear with me here.

    For simplicity sake let's assume site lives at forums.example.com rather than a example.com/forums subfolder.

    Unless specified otherwise, nginx root dir is /usr/share/nginx/html

    Nodebb nginx configuration docs utilize this when describing setting up a custom error page.

    Nginx is being used exclusively as reverse proxy and not serving any additional sites. I think I read somewhere that under such configuration an explicit default server docroot should not be specified? But even in such cases I think the hard coded default /usr/share/nginx/html still serves up 50x.html error page.

    In absence of a custom error page, nodebb uses nodebb/public/503.html?

    Nginx has been configured for scaling.

    Nginx Pitfalls and Common Mistakes documentation suggest putting doc root inside a location block is bad practice even though it will work.

    Soo... now my question... taking all of above into consideration.. what is proper/correct best practice configuration for a "scaled" nginx nodebb deployment? I know what "could" work. I am curious what "should" be recommended best practice.

    (Yeah, I know I already posted this in a different thread but it was a mistake at the time not to have started a new thread because this is pretty specific w.r.t. best practices configuration rather than "why isn't my stuff isn't working" question. Apologies for that.)

  • Recent card, display multiple category ?

    1
    0 Votes
    1 Posts
    228 Views
    C

    We use recent card, but IFAK we succeed to show either all categories or only one category, but not the #1 and #2 (etc.) categories.

    We have multiple announcement categories and we would like to display them at the top on the category pages but in unique one "recent card" widget, and not multiple ones.
    I searched but I didn't succeed to find how to do this.

  • custom mongodb/and apis

    2
    0 Votes
    2 Posts
    368 Views
    S

    @rozi98 said in custom mongodb/and apis:

    i want nodebb use mywebsite userdb -

    Use it? In what way?

  • 0 Votes
    4 Posts
    713 Views
    S

    @Rootzilla how is your project coming along?

  • Moderator Permissions

    5
    0 Votes
    5 Posts
    570 Views
    oplik0O

    It is actually planned:
    https://github.com/NodeBB/NodeBB/issues/5736
    Two of the permissions that are supposed to be split are Global account info access and
    Global user sessions access.
    Unfortunately, there seems to be no ETA, and the issue is from 2017, so it might take some time before it's added... But there is hope 🙂

  • Nodebb start not work

    18
    0 Votes
    18 Posts
    2k Views
    PitaJP

    @sanatisharif

    Please try to answer all of the questions I ask, or at least address them Including all of your answers in a single reply improves the flow of the topic Quote the actual question you're replying to, not the whole post Include as many details as possible. For instance, what was the output of the git reset command?
  • Recent card plugin, display multiple categories ?

    Unsolved
    1
    0 Votes
    1 Posts
    240 Views
    C

    I would like to know if it is possible to display multiple specific categories.
    For example, if I would like to display only categories #1 and #2 but not the others, how I could do that ?

  • Heroku Boot Crash

    2
    0 Votes
    2 Posts
    264 Views
    Zachary.MurphyZ

    I found some information within stackoverflow. That I am going to attempt. StackOverFlow says this: The post is located here:

    It looks like a R10 Error Boot Timeout. The error occurs due to the application unable to reach an external resource, like a database. I would double check your DB connection because this error is likely due to an improperly configured database connection. Did you provision a database connection using Heroku's Add-on's? If not, you will have to provision a database to fix the error. mLab is a free option but there are many others. I'll try to walk you through an example of how to do this. Navigate to your Heroku app's dashboard. Click on Resources. In the add-on search box, type in the database service you'd like to provision. If you choose mLab, it will take you to the mLab GUI. Your URI connection string is at the top of the screen. (You want to choose the one labeled "Driver". ) Click on the 'add a user' tab at the center-bottom part of the screen. Add a username and password. Save. After that, copy the URI connection string above, then navigate back to your dashboard. Click on Settings, reveal config vars. Now paste the URI connection string in the text box, then add in your newly created user credentials to replace the <username> and <password> fields. Copy the config variable MONGODB_URI. Next, on your command line, set or export the MONGODB_URI environment variable. Finally, in your application, navigate to where you start your server, then replace the connection to your local host's database with the MONGODB_URI e.g. process.env.MONGODB_URI. Next, Add, commit, push to master then to Heroku. The R10 error should be gone. If it's not, see the links below.

    EDIT: This didn't seem to work.