Skip to content

Technical Support

Need help with installing or configuring NodeBB? Look here.

4.7k Topics 26.2k 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
    201 Posts
    eeeeeE

    I think you answered my point, by agreeing there are issues.
    I didn't even attempt to deploy nodebb, I had problems with much smaller projects!
    Nextjs routing was going through a change of design at the time, so perhaps that is less confusing now, but there were multiple other headaches. I would get build errors and issues with package management.

  • Group cover image doesn't change

    6
    0 Votes
    6 Posts
    3k Views
    barisB

    This is fixed on master and 1.x.x. Thanks for reporting.

  • Guide for nodebb on digitalocean?

    3
    0 Votes
    3 Posts
    2k Views
    L

    @Danny-McWilliams said:

    Give this post by ngsankar a try. It sets it up from scratch

    Link Preview Image Installing nodebb on digital ocean 0.8v

    Create Droplet Give your preferred Droplet name “Test” (please given the name u want, I will use “Test” for this example. Select Droplet Size as required ($5...

    favicon

    NodeBB Community (community.nodebb.org)

    Thank you for the help. Those instructions didn't work for me, But I was able to figure it all out, FINALLY. NGINX and reverse proxy was a headache. kept wanting to go to mydomain.com:4567. Figured out that on OC under proxypass you have to put mydomain.com:4567 instead of 127.0.0.1:4567. Then restart nginx via service nginx restart. Did everything as root. no need to create a new user with sudo privileges..

  • Sticky Topics in the recent topics page

    3
    0 Votes
    3 Posts
    1k Views
    Gaurav Grv RobinsonG

    Anyone else has some idea on how this could be achieved ?

  • WebSocket error in console..

    15
    0 Votes
    15 Posts
    7k Views
    fabianF

    @julian Thanks for the answer 🙂
    I'm using apache 2.2.22 and it seems like there is a bug in that version wich causes the leading slash. I'm upgrading to 2.4 next week hoping this solves the issue...
    An other option is the "<If ...>" directive, but thats only available in 2.4, too...

  • How can i prevent bumping of topics from certain categories?

    Unsolved
    7
    0 Votes
    7 Posts
    2k Views
    yariplusY

    To restrict replies by the last reply time, you need to do two things.

    On the server side, hook into filter:topic.reply, it is passed data with the tid. Look up the last post and owner using the tid. Then, if the last post was made by the owner, and the timestamp of the last post is less then a day from now, return an error.

    On the client, you'll want to disable the reply button if the last post fulfills the same requirements above. You can use ajaxify.data to get the information you need.

    Server filter:topic.reply hook example:

    plugin.topicReply = function (data, next) { var tid = data.tid; Topics.getLatestUndeletedReply(tid, function(err, pid) { if (err) return next(null, data); Posts.getPostFields(pid, ['timestamp', 'uid'], function (err, lastPost) { if (err) return next(null, data); Topics.isOwner(tid, lastPost.uid, function (err, isOwner) { if (err) return next(null, data); if (isOwner && lastPost.timestamp + 86400000 > Date.now()) { return next(new Error('Not enough time passed.')); }else{ next(null, data); } }); }); }); });

    client.js example

    $(window).on('action:ajaxify.end', function(){ // If the user is at a page with a reply button. if ($('[component="topic/reply"]').length && ajaxify.data.posts) { var first = ajaxify.data.posts[0]; var last = ajaxify.data.posts[ajaxify.data.posts.length-1]; // If the last poster is the owner, // and they posted less than a day ago, // disable the reply button. if (last.uid === first.uid && last.timestamp + 86400000 > Date.now()) $('[component="topic/reply"]').addClass('disabled'); } });

    It's late for me, I might have messed up somewhere.

    Also, you can reduce the server code a lot by using async.waterfall and async.apply

  • 0 Votes
    3 Posts
    1k Views
    Joshua TomarJ

    I figured it out from going through the code. I guess hidden groups are deliberately not populated in userGroups. Seems like it'd be helpful to have an extra flag for groups that determines whether or not it's selectable as a title aside from hidden (maybe I don't want the group or list of members to be available publicly but still want to use the associated title) but it might be too much of a corner case for me. For now, I've unhidden the groups that I really needed and made sure to disable join requests on them.

  • Composer redactor not working as expected

    Solved
    2
    0 Votes
    2 Posts
    924 Views
    N

    @Nisthar Ok. That was because of markdown plugin being disabled.

    I had to enable "Allow HTML" option to make redactor plugin to work.

  • Global Moderators and Flags

    10
    1 Votes
    10 Posts
    4k Views
    barisB

    Yeah, we will add an option like Only display to Admin for global mods as well. https://github.com/NodeBB/NodeBB/issues/4344

  • Launch application with nodejs

    13
    0 Votes
    13 Posts
    3k Views
    julianJ

    @Rémy-Verger What program is this anyway? Perhaps you're better off asking them directly for help 😄

  • Issues in mobile version of NodeBB

    18
    0 Votes
    18 Posts
    5k Views
    julianJ

    It's looking like something may be blocking websockets (perhaps your host or DNS service?)

  • Issues installing nodebb

    7
    0 Votes
    7 Posts
    2k Views
    julianJ

    To piggyback off of @rod's line of questioning... can you access the forum when you navigate to the ip:port directly?

  • mongodb typeerror

    3
    0 Votes
    3 Posts
    1k Views
    C

    @frissdiegurke i went with latest version and got it working. thanks for your help!

  • Integrating NodeBB in angular website

    2
    1 Votes
    2 Posts
    1k Views
    T

    @luukholleman I think it will all depend on how skilled you are in Javascript. NodeBB has an inbuilt api so shared user authentication will be rather easy.

    Because of the API, Your chats / notifications should be able to be done rather easily too. Just need to get the user to login via nodebb's login then you can pull notifications. How you do that is up to you and how you make it notify is also up to you.

    Nodebb as the forum link. Yeah thats easy. Put nodebb in a dir of "forums" and then just link to it 😛

    Moving away from php is a good idea and seeing as nodebb and angular both use node.js it looks like you are going with the right forum software.

  • 0 Votes
    4 Posts
    2k Views
    nhl.plN

    Link Preview Image missing timestamp by yariplus · Pull Request #67 · NodeBB/nodebb-theme-lavender

    favicon

    GitHub (github.com)

  • 0 Votes
    3 Posts
    1k Views
    julianJ

    For those wondering, OP's config.json was likely incorrectly set.

  • How can i control bumping of topics?

    2
    0 Votes
    2 Posts
    720 Views
    julianJ

    Well, the sorting is handled via date or vote count, although the date is updated whenever a new post is made.

    @baris perhaps we can add in logic to sort by original post date too?

  • Issue: Moving Topics in NodeBB v0.8.2

    16
    0 Votes
    16 Posts
    4k Views
    Jared14406J

    @CodyP2000 so sorry about that....

    PS: go to forum.LEET.CC and make a support Catagory and they'll fix your forum!

  • is the config of themes store in the DB?

    2
    0 Votes
    2 Posts
    1k Views
    barisB

    ./nodebb reset -t should reset the theme back to persona.

  • SMTP server with self signed certificate

    5
    0 Votes
    5 Posts
    2k Views
    Gaurav Grv RobinsonG

    @qgp9 Well, I am in a situation here. I was testing things on a VPS and I created letsencrypt certificates multiple times. When things didn't work out as required I reinstalled the VPS , thereby losing the private keys. Now, I cannot issue any more certificates for my domain.

  • Support gif uploading in 0.9.4 version

    Solved
    3
    0 Votes
    3 Posts
    922 Views
    N

    Would have been nice if we could upload gif in the about me or signature section of the profile.