Skip to content

Technical Support

Need help with installing or configuring NodeBB? Look here.

4.8k Topics 26.4k 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. [image: youtubelogo.png] Setting up SendGrid mailer for NodeBB
  • NodeBB guides, how-to's and general tips and tricks

    83 Topics
    601 Posts
    Z
    not sure the plugin worked for firefox. saw a-z in the sort icon. when i used it, i expected the topics in the category would be sorted a-z. they werent
  • 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.
  • Performance insights of NodeBB

    Unsolved
    10
    0 Votes
    10 Posts
    308 Views
    barisB
    Yeah I think having a folder under public/uploads/profile for each user would make deleting easier. We can get rid of the glob and delete that folder on user deletion. But we would have to write an upgrade script to move all files and update the path in the user object since they are stored as "/assets/uploads/profile/1-profileavatar-1709738685611.jpeg"
  • Failed to look up latest available version of NodeBB

    Solved
    5
    0 Votes
    5 Posts
    128 Views
    Sampo2910S
    @PitaJ v16.13.0 obviosuly very old Ooops..installed latest version and now it is all ok.. Thanks for the gentle reminder.
  • Themeing... Started with Quickstart got some bad results

    Moved
    15
    0 Votes
    15 Posts
    583 Views
    Chad AugurC
    @baris TY. Despite having been a JS developer for more than 10years I had never published my own npm package. Now I have. TY.
  • This topic is deleted!

    Unsolved
    2
    0 Votes
    2 Posts
    5 Views
  • Invalid CSRF token when authenticating via third-party app

    Unsolved
    7
    1 Votes
    7 Posts
    864 Views
    S
    @hnipps said in Invalid CSRF token when authenticating via third-party app: I'm trying to use NodeBB as a headless forum (i.e. just a REST API with a separate front end) but keep getting an "invalid csrf token" error when I try to authenticate. I've confirmed I can authenticate via the NodeBB UI on the same instance. I've also tried getting the NodeBB config and using the csrf token from there in my requests but it still does not work. My frontend is a NextJS app that rewrites all /api/:path* requests to http://<MY-NODE-BB-INSTANCE>/api/:path*. It also rewrites the auth paths. I can see the requests reach NodeBB but always get "invalid csrf token". I've verified that I can successfully call GET endpoints from my app, e.g. I can get the user list from /api/users. This is a 2 yr old thread, but @hnipps have you gone any further with the React/NextJS frontend with a headless nodebb? If you have made any progress I would love to contribute on the frontend build. It is daunting to start as a new project but if any foundations were laid I would love to jump in and build upon it.
  • How to add custom profile fields to a NodeBB forum ?

    14
    0 Votes
    14 Posts
    1k Views
    S
    Thank you @julian you always respond and seem motivated in helping the community. By proprietary I meant no effort has been made to provide clean working examples for the latest nodebb, as in maintenance of such documentation for people jumping into nodebb to replace their old system. You have a great product here, with so much more potential and I understand you may not have resources and funding to provide so much documentation and maintain working example of a plugin that does CRUD with custom fields/custom data, but it becomes harder for new adopters if they're unable to figure out cost effective way to replace their old platforms which have plethora of 3rd party add-ons and plugins especially dealing with custom fields and custom data. I take the blame as well, as part of the community it is partly our job to help keep a set of quickstart plugins, documentation, help available to enhance and optimize the process for new adopters. I hope the community gets together and makes something like a curated directory of available plugins, and tags and tracks what versions each supports, and tries to keep a version that supports the latest major version updates. Thank you for the wonderful product, I keep trying and finding an excuse to adopt it and hopefully I will get there sooner or later.
  • hiding "moved" badge from topic list

    Solved
    3
    1 Votes
    3 Posts
    102 Views
    crazycellsC
    @baris thank you very much.
  • This topic is deleted!

    Unsolved
    1
    0 Votes
    1 Posts
    9 Views
  • codes for the skins

    Solved
    3
    0 Votes
    3 Posts
    68 Views
    crazycellsC
    @baris said in codes for the skins: The css for these are coming from https://bootswatch.com/, you can find them in nodebb/node_modules/bootswatch/dist Thank a lot... I searched the GitHub and found them here: https://github.com/thomaspark/bootswatch/tree/v5/dist
  • How does nodebb-plugin-link-preview work exactly?

    Solved
    2
    0 Votes
    2 Posts
    91 Views
    julianJ
    Replied in the other linked topic.
  • Scaling Nodebb on Apache 2.4

    Unsolved
    6
    1 Votes
    6 Posts
    233 Views
    Nuran AkimbekN
    @julian yeah, database in the same VM. I already did re-indexing using this commands.
  • 3.7.0 Upgrade Support

    22
    2 Votes
    22 Posts
    2k Views
    crazycellsC
    @phenomlab said in 3.7.0 Upgrade Support: @crazycells [image: 1710346483231-62085e6b-8993-47e4-80d8-2f07f862ca07-image.png] looks delicious [image: monkey-ape.gif]
  • Quick Reply missing after upgrade to 3.7.0

    Unsolved
    18
    0 Votes
    18 Posts
    439 Views
    julianJ
    @B-738 spiders are bots, web crawlers, etc. You can restrict access to them for certain categories, for example.
  • Docker Compose nodebb + postgres | Error connecting to database

    Unsolved
    4
    0 Votes
    4 Posts
    243 Views
    A
    As you named your postgres container db, you should use db as database host.
  • How can I change Redis configuration directory?

    Solved
    7
    0 Votes
    7 Posts
    2k Views
    Daniel Mendoza PupoD
    @julian I tried that route, and it still didn't work: -rw-r--r--. 1 redis redis 63122 Mar 6 13:56 /path/to/redis/redis.conf redis.service: (changed the path to my redis.conf) ExecStart=/usr/bin/redis-server /path/to/redis/redis.conf --supervised systems After changing the redis service file: systemctl daemon-reload systemctl start/restart redis ● redis.service - Redis persistent key-value database Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/redis.service.d └─limit.conf Active: failed (Result: exit-code) since Thu 2024-03-07 16:18:06 EST; 7s ago Process: 3672598 ExecStop=/usr/libexec/redis-shutdown (code=exited, status=0/SUCCESS) Process: 3672869 ExecStart=/usr/bin/redis-server /path/to/redis/redis.conf --supervised systemd (code=exited, status=1/FAILURE) Main PID: 3672869 (code=exited, status=1/FAILURE) Mar 07 16:18:06 my-lab systemd[1]: Starting Redis persistent key-value database... Mar 07 16:18:06 my-lab redis-server[3672869]: 3672869:C 07 Mar 2024 16:18:06.355 # Fatal error, can't open config file '/path/to/redis/redis.conf' Mar 07 16:18:06 my-lab systemd[1]: redis.service: Main process exited, code=exited, status=1/FAILURE Mar 07 16:18:06 my-lab systemd[1]: redis.service: Failed with result 'exit-code'. Mar 07 16:18:06 my-lab systemd[1]: Failed to start Redis persistent key-value database.
  • CSS codes for icon color change according to the categories

    Solved
    2
    0 Votes
    2 Posts
    146 Views
    crazycellsC
    In case anyone else might be intrested, I fixed this color problem using these codes: .category-1 , .category-70 , .category-120 { .category-children-item .fa-caret-right { color: #ff9800 !important ; } } .category-111 { .category-children-item .fa-caret-right { color: #e91e63 !important ; } } .category-2 , .category-77 , .category-78 , .category-126 , .category-127 , .category-132 , .category-93 , .category-115 { .category-children-item .fa-caret-right { color: #4caf50 !important ; } } Basically I had to name each category separately... So, if there is any suggestion to shorten the code, I would love to hear...
  • Send email notification to admin from new registered users.

    Unsolved
    7
    0 Votes
    7 Posts
    232 Views
    barisB
    I've updated this plugin to nodebb 3.2 and up, new version is 3.0.0.
  • Bulk move users to group?

    Moved
    2
    1 Votes
    2 Posts
    108 Views
    barisB
    You would have to run a custom script like below. Place it in your nodebb folder, change the group name your special access group and run it with node myscript.js. It will add all users who have 10 posts or more into that group. 'use strict'; const nconf = require('nconf'); nconf.file({ file: 'config.json', }); nconf.defaults({ base_dir: __dirname, views_dir: './build/public/templates', upload_path: 'public/uploads', }); const db = require('./src/database'); const groupName = '<Replace with your groupname>'; db.init((err) => { if (err) { console.log(`NodeBB could not connect to your database. Error: ${err.message}`); process.exit(); } addUsersToGroup((err) => { if (err) { console.error(err); process.exit(); } console.log('done'); process.exit(); }); }); async function addUsersToGroup(callback) { const user = require('./src/user'); const groups = require('./src/groups'); const batch = require('./src/batch'); // check if target group exists const exists = await groups.exists(groupName); if (!exists) { return callback(new Error('group does not exist')); } try { const now = Date.now(); await batch.processSortedSet('users:joindate', async (uids) => { const userData = (await user.getUsersData(uids)) .filter(u => u && u.postcount >= 10); await db.sortedSetAdd( `group:${groupName}:members`, userData.map(() => now), userData.map(u => u.uid) ); }, { batch: 500, }); const memberCount = await db.sortedSetCard(`group:${groupName}:members`); console.log('total count', memberCount); await db.setObjectField(`group:${groupName}`, 'memberCount', memberCount); await db.sortedSetAdd( 'groups:visible:memberCount', memberCount, groupName, ); callback(); } catch (err) { callback(err); } }
  • OKta + react native + OKta custom login page + okta login in offline

    Unsolved
    2
    0 Votes
    2 Posts
    79 Views
    phenomlabP
    @ursyaathi You'd be better placed using SSO for that - see https://community.nodebb.org/topic/17484/a-more-standardised-sso-implementation/2?_=1709300209014
  • Navigating to specific post

    Solved
    3
    0 Votes
    3 Posts
    149 Views
    R
    Thanks!, I was able to debug the issue.