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.

  • 3.7.0 Upgrade Support

    Pinned
    22
    2 Votes
    22 Posts
    823 Views
    crazycellsC

    @phenomlab said in 3.7.0 Upgrade Support:

    @crazycells

    62085e6b-8993-47e4-80d8-2f07f862ca07-image.png

    looks delicious 😄

    Monkey Ape GIF

  • URL for email confirmations has bad subdomain

    Unsolved
    2
    0 Votes
    2 Posts
    147 Views
    julianJ

    Hi @tpickles, what mailer plugin are you using, or service? url2462 sounds like something SendGrid might do... it looks like click tracking.

    Try disabling it?

  • 0 Votes
    2 Posts
    37 Views
    PitaJP

    Link Preview Image GitHub - akhoury/nodebb-plugin-import: migrate your old crappy forum to NodeBB

    migrate your old crappy forum to NodeBB. Contribute to akhoury/nodebb-plugin-import development by creating an account on GitHub.

    favicon

    GitHub (github.com)

    THIS PLUGIN ONLY SUPPORTS: NodeBB v1.12.1

    but you can upgrade after the import is done

    So yes, it only supports an older version. If you buy NodeBB's hosted solution, we can perform the upgrade for you. Contact [email protected]

  • 0 Votes
    4 Posts
    43 Views
    julianJ

    @PitaJ nice catch!

  • 0 Votes
    2 Posts
    33 Views
    julianJ

    @Alexis-Sanchez There's a guide I've written for working with custom user fields in the user hash, but front-end wise you're looking to have a custom theme add the fields to the profile pages.

    Do you already have a custom theme?

  • Sendmail issues on a VPS with 2 instances of nodebb

    Unsolved
    3
    0 Votes
    3 Posts
    44 Views
    Mikha'il HatheyM

    Thanks for the feedback will definitely try the SES method instead.

    My mailbox definitely has no sent mails from NodeBB. So I may have set it up incorrectly or SendMail really is problematic.

  • Amazon SES Using the Default Emailer Plugin

    Unsolved
    3
    0 Votes
    3 Posts
    35 Views
    Mikha'il HatheyM

    Thanks a lot I will try this and see how it goes.

  • 0 Votes
    6 Posts
    82 Views
    PitaJP

    @clover try changing your hook function to edit postData in place and return it directly, rather than creating a new object.

  • Blog comments on external blog website

    Unsolved
    6
    0 Votes
    6 Posts
    176 Views
    crazycellsC

    @julian said in Blog comments on external blog website:

    @crazycells ah sorry, I didn't respond because I wasn't sure...

    But I think it should be fine. Technically according to browser security policy, nodebb.org and community.nodebb.org are essentially different sites.

    So if you used a different domain the same restrictions apply, but the plugin should still work.

    Thank you very much, we will try it and report the outcome then...

  • 0 Votes
    5 Posts
    80 Views
    julianJ

    @phenomlab that doesn't sound like out of the box behaviour... can you reset all plugins and see if it reproduces?

  • PWA push notifications

    Unsolved
    28
    4 Votes
    28 Posts
    1k Views
    julianJ

    @crazycells Thanks for the reminder. I'll take a look.

  • 0 Votes
    1 Posts
    37 Views
    N

    Hey,
    I use nodebb-plugin-session-sharing to automatically login users from my WebApp.
    This works great on desktop!

    But when I add the cookie to WebView of my React Native app i get:

    Encountered an error loading page code: -1007 description: "too many HTTP redirects" didFailProvisionalNavigation: true domain: "NSURLErrorDomain"

    I inject the cookie by calling

    <WebView source={{ uri: domain, headers: { Cookie: `${tokenName}=${token};Domain=${tokenDomain};HttpOnly;`}, } } />

    When I remove the cookie from the header and reload the app on Simulator, I'm logged in, so the cookie and the plugin mechanism is basically working.

    React Native WebView reference
    nodebb-plugin-session-sharing on Github

    Anyone an idea about this?

    Kind regards
    Niklas

  • 1 Votes
    37 Posts
    4k Views
    B-738B

    @루루

    I use this one mongodb70-7.0.4 , no issue all perfect

  • Email Template callback URL is IP instead of Domain name

    Solved
    2
    0 Votes
    2 Posts
    47 Views
    huigeH

    Change the address in your config.json file to your URL link

  • Changing number of forum hits

    Solved
    3
    0 Votes
    3 Posts
    104 Views
    dave1904D

    @PitaJ thanks for the great explanation

  • 0 Votes
    4 Posts
    84 Views
    루루

    It appears that Svelte was used when developing the acp admin dashboard part - https://github.com/NodeBB/nodebb-plugin-emoji/blob/master/acp/src/EmojiList.svelte
    https://github.com/NodeBB/nodebb-plugin-emoji/blob/master/acp/rollup.config.mjs

    ⇒ When developing acp admin dashboard, can I use [svelte, react]? What if I set the ts compile option to amd commonjs?

    ⇒ When developing a theme, can I use [svelte, react]? What if I set the ts compile option to amd commonjs?

    Link Preview Image nodebb-plugin-emoji/acp/rollup.config.mjs at master · NodeBB/nodebb-plugin-emoji

    NodeBB Plugin enabling emoji as seen on http://www.emoji-cheat-sheet.com - nodebb-plugin-emoji/acp/rollup.config.mjs at master · NodeBB/nodebb-plugin-emoji

    favicon

    GitHub (github.com)

  • 0 Votes
    1 Posts
    50 Views
    루루

    Are nodebb + nextjs compatible?
    When developing nodebb custom plugin or custom theme, is there a way to make nextjs compatible?
    reactjs is client side rendering, and nextjs is SSR, so when considering seo, it must be developed with SSR.
    These days, many of the web developers being hired use nextjs as a basis for development, so we are also developing web using nextjs.

    Of course, I know how to use bootstrap + jquery tpl express. But these days, people who are beginners in web development are more familiar with nextjs.

  • Plugin for 'file attachments'

    Unsolved
    1
    0 Votes
    1 Posts
    42 Views
    M

    Hi,

    Are there any plugins that would allow users to attach files to posts, and allow me to store them locally on the server for other users to access? I run a developer oriented site, so the files would usually be zips, gzs etc.

    I assume one of the various 'upload' plugins would take care of half the problem, but they all seem to be for 'S3' or 'CF' which I assume are commercial cloud outfits that would charge for storage, while I'm trying to do all this on the ultra cheap, ie: free!

    Bye,
    Mark

  • What is Best Option for Running Nodebb forever?

    Solved
    8
    0 Votes
    8 Posts
    248 Views
    X

    node app.js continues try to start app. look at this log:

    2024-04-26T13:32:14.000Z [50341/8042] - info: [api] Adding 0 route(s) to `api/v3/plugins` 2024-04-26T13:32:14.019Z [50341/8042] - info: [router] Routes added 2024-04-26T13:32:14.025Z [50341/8042] - info: 🎉 NodeBB Ready 2024-04-26T13:32:14.027Z [50341/8042] - info: 🤝 Enabling 'trust proxy' 2024-04-26T13:32:14.029Z [50341/8042] - error: NodeBB address in use, exiting... Error: listen EADDRINUSE: address already in use 0.0.0.0:50341 at Server.setupListenHandle [as _listen2] (node:net:1817:16) at listenInCluster (node:net:1865:12) at doListen (node:net:2014:7) at process.processTicksAndRejections (node:internal/process/task_queues:83:21) 2024-04-26T13:32:14.032Z [50341/8042] - error: uncaughtException: listen EADDRINUSE: address already in use 0.0.0.0:50341 Error: listen EADDRINUSE: address already in use 0.0.0.0:50341 at Server.setupListenHandle [as _listen2] (node:net:1817:16) at listenInCluster (node:net:1865:12) at doListen (node:net:2014:7) at process.processTicksAndRejections (node:internal/process/task_queues:83:21) {"date":"Fri Apr 26 2024 13:32:14 GMT+0000 (Coordinated Universal Time)","error":{"address":"0.0.0.0","code":"EADDRINUSE","errno":-98,"port":50341,"syscall":"listen"},"exception":true,"os":{"loadavg":[2.13,1.47,0.75],"uptime":2577.37},"process":{"argv":["/usr/bin/node","/home/vWbHoQZUBwUMl3tH/testn8n/public_html/app.js"],"cwd":"/home/vWbHoQZUBwUMl3tH/testn8n/public_html","execPath":"/usr/bin/node","gid":1003,"memoryUsage":{"arrayBuffers":19144223,"external":21614654,"heapTotal":84533248,"heapUsed":70672856,"rss":160268288},"pid":8042,"uid":1001,"version":"v18.20.2"},"stack":"Error: listen EADDRINUSE: address already in use 0.0.0.0:50341\n at Server.setupListenHandle [as _listen2] (node:net:1817:16)\n at listenInCluster (node:net:1865:12)\n at doListen (node:net:2014:7)\n at process.processTicksAndRejections (node:internal/process/task_queues:83:21)","trace":[{"column":16,"file":"node:net","function":"Server.setupListenHandle [as _listen2]","line":1817,"method":"setupListenHandle [as _listen2]","native":false},{"column":12,"file":"node:net","function":"listenInCluster","line":1865,"method":null,"native":false},{"column":7,"file":"node:net","function":"doListen","line":2014,"method":null,"native":false},{"column":21,"file":"node:internal/process/task_queues","function":"process.processTicksAndRejections","line":83,"method":"processTicksAndRejections","native":false}]} 2024-04-26T13:32:14.034Z [50341/8042] - error: Error: listen EADDRINUSE: address already in use 0.0.0.0:50341 at Server.setupListenHandle [as _listen2] (node:net:1817:16) at listenInCluster (node:net:1865:12) at doListen (node:net:2014:7) at process.processTicksAndRejections (node:internal/process/task_queues:83:21) 2024-04-26T13:32:14.035Z [50341/8042] - info: [app] Shutdown (SIGTERM/SIGINT/SIGQUIT) Initialised. 2024-04-26T13:32:14.036Z [50341/8042] - error: Error [ERR_SERVER_NOT_RUNNING]: Server is not running. at new NodeError (node:internal/errors:405:5) at Server.close (node:net:2161:12) at Object.onceWrapper (node:events:631:28) at Server.emit (node:events:529:35) at emitCloseNT (node:net:2221:8) at process.processTicksAndRejections (node:internal/process/task_queues:81:21) 2024-04-26T13:32:14.361Z [50341/8073] - info: Initializing NodeBB vN/A http://localhost:50341 2024-04-26T13:32:16.071Z [50341/8073] - info: [socket.io] Restricting access to origin: http://localhost:* 2024-04-26T13:32:16.240Z [50341/8073] - warn: [plugins/load] The following plugins may not be compatible with your version of NodeBB. This may cause unintended behaviour or crashing. In the event of an unresponsive NodeBB caused by this plugin, run `./nodebb reset -p PLUGINNAME` to disable it. * nodebb-plugin-composer-default * nodebb-theme-harmony * nodebb-plugin-markdown * nodebb-plugin-mentions * nodebb-widget-essentials * nodebb-rewards-essentials * nodebb-plugin-emoji * nodebb-plugin-emoji-android 2024-04-26T13:32:16.316Z [50341/8073] - info: [api] Adding 0 route(s) to `api/v3/plugins` 2024-04-26T13:32:16.350Z [50341/8073] - info: [router] Routes added 2024-04-26T13:32:16.366Z [50341/8073] - info: 🎉 NodeBB Ready 2024-04-26T13:32:16.368Z [50341/8073] - info: 🤝 Enabling 'trust proxy' 2024-04-26T13:32:16.371Z [50341/8073] - error: NodeBB address in use, exiting... Error: listen EADDRINUSE: address already in use 0.0.0.0:50341 at Server.setupListenHandle [as _listen2] (node:net:1817:16) at listenInCluster (node:net:1865:12) at doListen (node:net:2014:7) at process.processTicksAndRejections (node:internal/process/task_queues:83:21) 2024-04-26T13:32:16.378Z [50341/8073] - error: uncaughtException: listen EADDRINUSE: address already in use 0.0.0.0:50341 Error: listen EADDRINUSE: address already in use 0.0.0.0:50341 at Server.setupListenHandle [as _listen2] (node:net:1817:16) at listenInCluster (node:net:1865:12) at doListen (node:net:2014:7) at process.processTicksAndRejections (node:internal/process/task_queues:83:21) {"date":"Fri Apr 26 2024 13:32:16 GMT+0000 (Coordinated Universal Time)","error":{"address":"0.0.0.0","code":"EADDRINUSE","errno":-98,"port":50341,"syscall":"listen"},"exception":true,"os":{"loadavg":[2.13,1.47,0.75],"uptime":2579.71},"process":{"argv":["/usr/bin/node","/home/vWbHoQZUBwUMl3tH/testn8n/public_html/app.js"],"cwd":"/home/vWbHoQZUBwUMl3tH/testn8n/public_html","execPath":"/usr/bin/node","gid":1003,"memoryUsage":{"arrayBuffers":19144239,"external":21614670,"heapTotal":85057536,"heapUsed":70311760,"rss":161042432},"pid":8073,"uid":1001,"version":"v18.20.2"},"stack":"Error: listen EADDRINUSE: address already in use 0.0.0.0:50341\n at Server.setupListenHandle [as _listen2] (node:net:1817:16)\n at listenInCluster (node:net:1865:12)\n at doListen (node:net:2014:7)\n at process.processTicksAndRejections (node:internal/process/task_queues:83:21)","trace":[{"column":16,"file":"node:net","function":"Server.setupListenHandle [as _listen2]","line":1817,"method":"setupListenHandle [as _listen2]","native":false},{"column":12,"file":"node:net","function":"listenInCluster","line":1865,"method":null,"native":false},{"column":7,"file":"node:net","function":"doListen","line":2014,"method":null,"native":false},{"column":21,"file":"node:internal/process/task_queues","function":"process.processTicksAndRejections","line":83,"method":"processTicksAndRejections","native":false}]} 2024-04-26T13:32:16.385Z [50341/8073] - error: Error: listen EADDRINUSE: address already in use 0.0.0.0:50341 at Server.setupListenHandle [as _listen2] (node:net:1817:16) at listenInCluster (node:net:1865:12) at doListen (node:net:2014:7) at process.processTicksAndRejections (node:internal/process/task_queues:83:21) 2024-04-26T13:32:16.386Z [50341/8073] - info: [app] Shutdown (SIGTERM/SIGINT/SIGQUIT) Initialised. 2024-04-26T13:32:16.391Z [50341/8073] - error: Error [ERR_SERVER_NOT_RUNNING]: Server is not running. at new NodeError (node:internal/errors:405:5) at Server.close (node:net:2161:12) at Object.onceWrapper (node:events:631:28) at Server.emit (node:events:529:35) at emitCloseNT (node:net:2221:8) at process.processTicksAndRejections (node:internal/process/task_queues:81:21) 2024-04-26T13:32:16.705Z [50341/8102] - info: Initializing NodeBB vN/A http://localhost:50341
  • 0 Votes
    8 Posts
    296 Views
    B-738B

    FreeBSD your solution!