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
    765 Views
    crazycellsC

    @phenomlab said in 3.7.0 Upgrade Support:

    @crazycells

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

    looks delicious 😄

    Monkey Ape GIF

  • 0 Votes
    1 Posts
    4 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

  • PWA push notifications

    Unsolved
    23
    4 Votes
    23 Posts
    962 Views
    bh4 techB

    @julian Did you open source the code? If available on github, please provide the repo link

  • Email Template callback URL is IP instead of Domain name

    Unsolved
    2
    0 Votes
    2 Posts
    25 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
    85 Views
    dave1904D

    @PitaJ thanks for the great explanation

  • 0 Votes
    4 Posts
    71 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
    47 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
    40 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
    239 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
    262 Views
    B-738B

    FreeBSD your solution!

  • Can't get group badges to work

    Solved
    6
    0 Votes
    6 Posts
    183 Views
    M

    With the current codebase, making a group hidden also removes it from the badge selection.

    Yes, it's working now, not sure why it wasn't earlier but thanks everyone!

  • Online users widget & ACP

    Solved
    6
    0 Votes
    6 Posts
    114 Views
    barisB

    You can change it to 5 minutes in the ACP using the online cutoff setting.

  • Admin Invites and Registration Queue

    Unsolved
    1
    0 Votes
    1 Posts
    46 Views
    mutahar aliM

    Is there a way to enable registration queue but make it so that user's registering with admin invites are able to register bypassing registration queue and admin approval? Since it would only make sense since the admins are the ones who invited the user.

    Many thanks!

  • 1 Votes
    89 Posts
    13k Views
    nhl.plN

    Quill 2.0 has been released.
    https://slab.com/blog/announcing-quill-2-0/

    Link Preview Image Announcing Quill 2.0 - Knock Down Silos by Slab

    Running weekly updates of every small improvement and bugfix to Slab that miss the headlines.

    favicon

    (slab.com)

  • Email Services Novice and issues sending to Gmail

    Unsolved
    8
    0 Votes
    8 Posts
    177 Views
    PitaJP

    Word that from would bee messed up. Can you try undoing your change and console.loging those values to see what they end up being?

  • 0 Votes
    10 Posts
    186 Views
    Nuran AkimbekN

    @baris Yes, I test develop branch and it's really worked now. But community still loaded slow and shows from time to time 503 error

  • Posting in Activity pub

    Unsolved
    15
    0 Votes
    15 Posts
    308 Views
    julianJ

    @crazycells yes, just like normal topics.

  • Registration email links pointing to 127.0.0.1

    6
    0 Votes
    6 Posts
    2k Views
    julianJ

    @Renan-Birlem-Deves make sure you're not using some other way to send a config in, otherwise config.json may not be read (or its values overridden).

  • Harmony Theme - Help with Chat & File Structure

    Solved
    6
    0 Votes
    6 Posts
    112 Views
    T

    @baris thanks!