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.

  • administrator notifications for all posts?

    3
    0 Votes
    3 Posts
    521 Views
    S

    @baris awesome!
    thx

  • We need someone to install NodeBB

    7
    1 Votes
    7 Posts
    1k Views
    S

    @pottla woah - 60hrs is extreme...
    I migrated from an old myBB forum to NOdeBB, and it took waaaaaaay less than that.

    It was less than simple too, I had to set up a droplet on Digital Ocean as an intermediate forum so I could migrate my data across.

    MyBB (mySQL database on my VPS) -> Mongo(Digital Ocean)
    Mongo -> Postgres(Digital Ocean)

    then import from DigitalOcean to my own VPS
    I also needed to install postgres etc on my own server, and I themed my forum.

    support.sweetpproductions.com

  • How to use NodeBB on PostgreSQL

    2
    0 Votes
    2 Posts
    551 Views
    PitaJP

    Yes. I don't think there is a guide right now, but it shouldn't be too hard. You just need to select postgresql in the setup step.

  • Can't edit profile template

    4
    0 Votes
    4 Posts
    678 Views
    PitaJP

    Oh sorry I wasn't paying attention. Those two aren't in any templates afaik. They're added by the widget system.

  • How to visualize data using special programs?

    3
    0 Votes
    3 Posts
    545 Views
    PitaJP

    It looks like you've misunderstood the purpose of this forum. This is the community forum for the Node.js-based forum software known as NodeBB.

    For general Node help, you might want to try StackOverflow, SpeakJS on Discord, or /r/node and /r/javascript on Reddit.

  • Dashboard understanding problem

    2
    0 Votes
    2 Posts
    447 Views
    D

    Left Y axis is page views (gray), right Y axis is unique visitors (blue). A page view is just what it say, a visitor looking at a page. A unique visitor is identified by IP. Thus it is a unique IP visiting your site. They are summarized over a day in the graph. Thus every value is per day.

    The total you see below is the sum of all page views over the last seven days.

  • This topic is deleted!

    1
    0 Votes
    1 Posts
    1 Views
  • Admin page no more accessible.

    6
    1 Votes
    6 Posts
    788 Views
    S

    Here it is.
    0_1540023571272_error.png

  • confirmation email links have port number?

    3
    0 Votes
    3 Posts
    477 Views
    S

    yup that worked!

    super easy fix, many thanks
    👍

  • NodeBB won't start after upgrade

    3
    0 Votes
    3 Posts
    666 Views
    barisB

    Looks like NodeBB is already running on port 4567 and 4568 try stopping it with either ./nodebb stop or killing those procs. Then start again.

  • 0 Votes
    7 Posts
    1k Views
    PKRomaP

    @ckubs Excellent, I'm glad that went well!

  • I got a error when install

    2
    0 Votes
    2 Posts
    1k Views
    PitaJP

    Hmm looks like sharp isn't installing correctly. If you wanna try out some stuff, here's this:

    https://sharp.dimens.io/en/stable/install/

  • Restrict User Search Access to Specific Group

    2
    0 Votes
    2 Posts
    452 Views
    barisB

    It is possible on the group page itself, for example if you search users on https://community.nodebb.org/groups/gamers it will only search that groups members. The front end doesn't have that option on /search though.

  • 0 Votes
    3 Posts
    802 Views
    julianJ

    Don't change loader.js. Change your config.json.

  • How i can import JSON database into NodeBB

    Moved
    2
    0 Votes
    2 Posts
    596 Views
    julianJ

    You'll want to build an exporter that will work with nodebb-plugin-import: https://github.com/akhoury/nodebb-plugin-import/blob/master/write-my-own-exporter.md

  • Add Watched Page to Navigation

    3
    0 Votes
    3 Posts
    2k Views
    AlexGA

    That was just what I was looking for. Thanks!

  • Custom Maintenance Page

    4
    0 Votes
    4 Posts
    722 Views
    brian4021B

    thank you

  • 0 Votes
    1 Posts
    737 Views
    J

    I've recently been trying to setup NodeBB on my server, but whenever i try to login or register the POST request returns a 403 forbidden response and NodeBB logs an "invalid csrf token" error.

    The following software packages are used:

    NodeBB 1.10.1 MongoDB 3.2.11 Node.js 8.11.4 Debian 9.3

    NodeBB itself is a subfolder installation in https://endless-endeavors.theswc.net/forum/. The node server is multi-tenant and works with express.js as a router/reverse proxy. All external http requests are redirected to https, but requests to the nodeBB server are proxied internally over http. Essentially this is the flow for an incoming forum request:

    main server app -> enforce https, direct request to endless-endeavors.theswc.net directory host/domain app -> Check url, if /forum, proxy to port 4567 over http (or wss if websocket) let nodeBB do its thing.

    I've been googling and have found quite a few threads, but none of the suggested solutions have worked. things i have tried so far:

    Check url in config.json: 'https://endless-endeavors.theswc.net/forum/' Make sure cookieDomain is '' in MongoDB Including header 'X-Forwarded-Proto: https' Including header 'X-Forwarded-SSL: on' Including header 'X-Url-Scheme: https'
    I've also found that in the GET request for the login form, no X-CSRF-Token header is received. The form itself however is populated with a token.

    Lastly, here are the relevant code snippets:

    main server app

    #!/usr/bin/env nodejs // filename: app.js const http = require('http'); const https = require('https'); const fs = require('fs'); const express = require('express'); const vhost = require('vhost'); const app = express(); const sslOptions = { cert: fs.readFileSync('./.sslcert/fullchain.pem'), key: fs.readFileSync('./.sslcert/privkey.pem') } http.createServer(function(req, res) { res.writeHead(301, { "Location": "https://" + req.headers['host'] + req.url }); res.end(); }).listen(80); app .use(require('helmet')()) .use(express.static(__dirname + '/static')) <redacted, other domains> .use(vhost('endless-endeavors.theswc.net', require('./apps/EndlessEndeavors').app)) app.get('/', function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end(''); });

    domain app

    const express = require('express') const app = express(); const http = require('http'); const httpProxy = require('http-proxy'); const proxy = httpProxy.createProxyServer(); app.use('/static',express.static(__dirname + '/static')); app.use('', express.static(__dirname + '/dist/EndlessEndeavors')); app.all('/forum[/]+*', function(req, res){ if(req.url.substr(0,18).indexOf('socket.io')>-1){ console.log('got socket request'); proxy.web(req, res, {target: 'wss://endless-endeavors.theswc.net:4567', ws: true}); } else { res.header('X-Forwarded-Proto','https'); res.header('X-Forwarded-Ssl','on'); res.header('X-Url-Scheme','https'); res.header('Access-Control-Allow-Origin','endless-endeavors.theswc.net'); proxy.web(req, res, {target: 'http://endless-endeavors.theswc.net:4567'}); } }); app.all('/forum$', function(req, res) { res.writeHead(301, { "Location": "https://" + req.headers['host'] + '/forum/' }); res.end(); } ) exports.app = app;

    nodeBB config.json

    { "url": "https://endless-endeavors.theswc.net/forum/", "secret": "<redacted>", "database": "mongo", "port": 4567, "mongo": { "host": "127.0.0.1", "port": 27017, "username": "<redacted>", "password": "<redacted>", "database": "<redacted>", "uri": "<redacted>" } }

    Hopefully this is enough into to help find the cause of the invalid csrf token issue... i have no idea what else could be wrong at this point.

  • Invalid csrf token and Failed login attemp

    3
    0 Votes
    3 Posts
    637 Views
    N

    Yes, it is same. But error is still there.

  • Display of Notifications

    1
    0 Votes
    1 Posts
    343 Views
    AlexGA

    I've got two questions concerning notifications.

    Is it possible to display more notifications in the "notification window"? This seems to be limited to 15? I know that I can see all on the /notifications page but it would be easier to just see more in the notification window.

    Is there any possibility to display the category of the topics in the notification (either notification window or notification page)? Or should I put a topic for that in feature requests?

    Thanks for your help.