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.

  • Client JavaScript in Templates

    Moved
    6
    0 Votes
    6 Posts
    4k Views
    N

    @psychobunny nice, It's very helpful.

  • No refresh after SSO register/login or logout

    2
    0 Votes
    2 Posts
    1k Views
    KingCatK

    Ok, when I switched to using a clustered setup with nginx serving static assets this issue went away.

  • Revamp upvote to like

    Moved
    1
    0 Votes
    1 Posts
    2k Views
    N

    How to revamp upvote in custom theme? Do you have any recommendations. Target is to have my own handler for click, because It isn't enough just alter upvoted class 😉

    My thoughts:

    Create custom html component in post.tpl, ex: component="post/like" Define module, that should be used with - forum/topic/posts, to add click handler.
  • 1 Votes
    14 Posts
    11k Views
    KingCatK

    Welp, I solved it.

    Turns out I had the wrong directory specified in nginx for static assets. It was pointing to a different install of nodebb. For some reason that caused issues with socket.io (and only with safari/opera for some reason).

    Now, here's the weird thing. I only recently started using nginx to serve the assets. Recently as in like this morning. Before that I simply had a proxy pass setup and let nodebb serve the assets. I'm not sure what was causing the 400/502 errors then but I'm just glad their solved now.

  • How to bind to unix sockets instead of port?

    4
    0 Votes
    4 Posts
    2k Views
    V

    Thanks Julian, it works!

    For anyone else that wants to do this I've attached my config.json file below:

    { "url": "http://localhost/forum", "port": "/tmp/nodeenv.sock", "secret": "random-secret-here", "database": "mongo", "mongo": { "host": "127.0.0.1", "port": "27017", "username": "", "password": "", "database": "0" } }
  • Client side theme script not loaded

    5
    0 Votes
    5 Posts
    2k Views
    Moritz FriedrichM

    @julian, here it is. Thank you for your time!

  • I broke it 😞 Endless loop now

    6
    0 Votes
    6 Posts
    3k Views
    julianJ

    @Purupuru Glad to hear it! 😄

    ./nodebb upgrade should've taken care of updating the config.json file for you -- not sure why that didn't work out.

  • Topics create 20X records in DB

    2
    0 Votes
    2 Posts
    1k Views
    barisB

    This is because how we store data. For example each sorted set element is stored as document.

    For example

    db.objects.find({_key:"topics:tid"}); { "_id" : ObjectId("5547aee465190fe212295e96"), "_key" : "topics:tid", "value" : "4392", "score" : 1430511213134 } { "_id" : ObjectId("5547aee465190fe212295e94"), "_key" : "topics:tid", "value" : "4391", "score" : 1430500193058 } { "_id" : ObjectId("5547aee465190fe212295e92"), "_key" : "topics:tid", "value" : "4390", "score" : 1430494440461 } { "_id" : ObjectId("5547aee465190fe212295e90"), "_key" : "topics:tid", "value" : "4389", "score" : 1430484949083 } { "_id" : ObjectId("5547aee465190fe212295e8f"), "_key" : "topics:tid", "value" : "4388", "score" : 1430479608551 } { "_id" : ObjectId("5547aee465190fe212295e8e"), "_key" : "topics:tid", "value" : "4387", "score" : 1430435412827 }

    When you post a topic it's topic id and data is stored in many places. For example under topics:recent, topics:tid, user:1:tids and so on.

  • How to display category as a list?

    3
    0 Votes
    3 Posts
    2k Views
    C

    Thank you. I am new to NodeBB so I wasn't sure if there was a option or plugin I could install that would change it to a list layout. Just wanted to double check that I wasn't missing anything.

  • Group tag not displayed by default on posts.

    5
    0 Votes
    5 Posts
    2k Views
    P

    They have to go into their user profile settings and select the group, even if they only have one.

    Yeah, let me add this as an issue to our tracker, happened to forget about this

    EDIT: https://github.com/NodeBB/NodeBB/issues/3118

  • Remove a piece of template

    Moved
    2
    0 Votes
    2 Posts
    1k Views
    P

    node_modules/nodebb-theme-persona/templates/category.tpl

    <p>{name}</p>

  • Image Class and Custom Class

    2
    0 Votes
    2 Posts
    1k Views
    julianJ
    If you set a background image, the image class can be used to change how it is stretched. See this article for options Custom class is exactly what it says, it allows you to define a class that is applied to the category. In Lavender, this is used to position blocks in certain arragements (e.g. 3 to a row, 4 to a row, etc). In Persona, they are not used, but you can still used them if you wish to apply special styling to certain category rows.
  • 0 Votes
    3 Posts
    2k Views
    Andrea CardinaleA

    @baris Yes, this is on latest.
    if I configure only mongo, it's works

  • This topic is deleted!

    1
    0 Votes
    1 Posts
    29 Views
  • Problem With Database

    2
    0 Votes
    2 Posts
    2k Views
    Master-AntonioM

    Update 16: 18 : I removed nodebb-plugin-poll and Seems to me that returned all right.
    @Schamper
    For me is this.

  • Bootswatch skins issues

    9
    0 Votes
    9 Posts
    3k Views
    julianJ

    Aah, yes... I resolved it on master, not v0.6.1. I'll look into getting that updated...

  • 0 Votes
    6 Posts
    4k Views
    frissdiegurkeF

    Problem of Emoji.
    http://i.gyazo.com/18e592942f2c80d64c38ab888f14ac46.png

    Please check the url attribute within your config.json (within NodeBB root).

    See https://community.nodebb.org/topic/3392/config-json-updated-base_url-and-relative_path-no-longer-exist/10 for more details on this.

  • Code snippets or syntax highlight

    2
    0 Votes
    2 Posts
    2k Views
    barisB

    Yes you can wrap the code with 3 backticks.

    ```
    code here
    ```

    code here code here
  • 0 Votes
    8 Posts
    3k Views
    E

    Here is my current nginx config, problem with the warning that I'm leaving our www.domain.com board to domain.com still exist:

    server { listen 80; server_name domain.com; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://127.0.0.1:4567/; proxy_redirect off; # Socket.IO Support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } server { server_name www.domain.com; rewrite ^(.*) http://domain.com$1 permanent; } server { listen 80; server_name www.domain.com; return 301 domain.com$request_uri; }
  • 0 Votes
    2 Posts
    1k Views
    N

    A couple of years ago there was also a lower adoption of html5 elements. Having one h1 tag per page is still a good Idea in general, but it is allowable to have one h1 tag per containing article tag as well. Since this theme does not seem to use tags like article and aside (that I've seen in my quick check) I agree that there should only be one h1 tag per page which contains the page title or headline. The theme structure is otherwise good, but could definitely use with some contextual revamping of quite a few divs.