Skip to content

Technical Support

Need help with installing or configuring NodeBB? Look here.

4.7k Topics 26.0k 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
    594 Posts
    crazycellsC

    @brazzerstop thanks for sharing!

  • 25 Topics
    163 Posts
    crazycellsC

    hi @baris and @oplik0 , "most votes" ranking option is not respecting this plugin, what would be the easiest way to solve this, so the topics are ranked according to the total vote counts rather than the vote count of the first post...

    Screenshot 2024-03-16 at 23.41.11.png

  • 3.7.0 Upgrade Support

    Pinned
    22
    2 Votes
    22 Posts
    438 Views
    crazycellsC

    @phenomlab said in 3.7.0 Upgrade Support:

    @crazycells

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

    looks delicious 😄

    Monkey Ape GIF

  • How does nodebb-plugin-link-preview work exactly?

    Unsolved
    2
    0 Votes
    2 Posts
    34 Views
    julianJ

    Replied in the other linked topic.

  • Scaling Nodebb on Apache 2.4

    Unsolved
    6
    1 Votes
    6 Posts
    56 Views
    Nuran AkimbekN

    @julian yeah, database in the same VM. I already did re-indexing using this commands.

  • Posting in Activity pub

    Unsolved
    11
    0 Votes
    11 Posts
    140 Views
    julianJ

    @crazycells said in Posting in Activity pub:

    However, my concern would be the opposite of this, federated-in contents... These are basically unmoderated content from other servers... well... while each server likely to have its own moderation, these posts are not moderated by us, so federated-in contents could pose problems if someone is posting something that can be considered legal in one country but illegal in another... Unfortunately we are not living in a completely free world, and not all countries tolerate free speech equally.

    Correct, this is a very nuanced issue, and one that @[email protected] (who I am mentioning but who will not see this as this post is not federated out) will help us navigate.

    The issue of user consent for federating out can be handwaved away by saying that "if you posts are visible to the public web, then federating it out is the same", but you can also make arguments that despite that distinction, they are still different.

    As for content coming in to NodeBB, the bare minimum would be that we would pre-load a list of servers where federation is blocked. I'd want to have flexible tooling to allow admins to decide whether to allow specific instances, or to deny specific instances.

  • Quick Reply missing after upgrade to 3.7.0

    Unsolved
    18
    0 Votes
    18 Posts
    106 Views
    julianJ

    @B-738 spiders are bots, web crawlers, etc.

    You can restrict access to them for certain categories, for example.

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

  • 0 Votes
    2 Posts
    93 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
    95 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
    59 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); } }
  • 0 Votes
    2 Posts
    38 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
    74 Views
    R

    Thanks!, I was able to debug the issue.

  • Targeted Multi-User tagging

    Unsolved
    14
    0 Votes
    14 Posts
    394 Views
    crazycellsC

    @baris i know it is nothing urgent, but looking forward to having this addition 😄

    Link Preview Image Targeted Multi-User tagging · Issue #244 · julianlam/nodebb-plugin-mentions

    I suggest the usage of @everyone and @here to notify all users in the forum and on the topic respectively... please see this: https://community.nodebb.org/topic/17283/targeted-multi-user-tagging

    favicon

    GitHub (github.com)

  • Hiding a widget in a custom page

    Moved
    8
    0 Votes
    8 Posts
    168 Views
    Rui RamosR

    Thanks @baris that option worked like a charm.

  • Testing nodebb-plugin-sso-google

    Solved
    14
    0 Votes
    14 Posts
    367 Views
    ww9riversW

    @baris Thank you for the quick fix! It works now.

  • Clean Up Popular Topics

    Solved
    5
    2 Votes
    5 Posts
    77 Views
    T

    @baris gotcha, i'll give this one a shot. TY!

  • 0 Votes
    11 Posts
    704 Views
    1

    @ikb42 I'm sorry, I didn't see your post sooner.

    No, I didn't write a plugin. I tried, really, really hard, but I just can't understand how a plugin works on NodeBB. Sorry.

  • Updating meta tags in a custom topic template

    Solved
    3
    0 Votes
    3 Posts
    75 Views
    R

    Thanks, that works perfectly

  • NodeBB in inframe throws invalid csrf token

    Moved
    6
    0 Votes
    6 Posts
    545 Views
    E

    were you actually able to solve that? Running into a very related problem here (Nodebb running in an iframe, authenticated through session-sharing plugin. Users are logged in but any interaction results in an 403 / invalid csrf token... I'm running the board on a different domain than the embedding page.

  • 0 Votes
    5 Posts
    134 Views
    C

    @julian Thank you so much for getting back to me, I'll give that a shot!