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.

  • 0 Votes
    2 Posts
    146 Views
    barisB

    Not exactly what you want but one would be to use filter:topic.build hook and set the title to

    templateData.title = `${templateData.title} | @${templateData.mainPost.user.username}`

    Haven't tested it but it would look like 3.0.0 Upgrade Support Thread | @baris | NodeBB Community

  • Retrieve ALL children of specific category via API?

    Unsolved
    2
    0 Votes
    2 Posts
    127 Views
    barisB

    This is one of the socket.io methods that is not available in the v3 read API yet. If you want to load all the subcategories you can do it with a socket.io emit. See below function

    async function getSubCategories(cid) { // store current loaded children let subCats = ajaxify.data.children.slice(); let newCats = []; // start from the nextSubCategory index let start = ajaxify.data.nextSubCategoryStart; do { // load the next page newCats = await socket.emit('categories.loadMoreSubCategories', { cid: cid, start: start, }); // move start to next page start += ajaxify.data.subCategoriesPerPage; // add the newly loaded children to our sub categories subCats = subCats.concat(newCats); // we are done if no new categories were loaded } while (!newCats.length); return subCats; }

    You can call this function on a category page and it would return all the subcategories of that category.

  • How to limit flood connections?

    Unsolved
    2
    0 Votes
    2 Posts
    148 Views
    barisB

    The traffic management settings only kick in when the module detects the nodejs event loop lagging behind. At that point it starts serving a 503 page. It applies to all users so it is not a targeted DDoS protection like limit_req_zone which can target a single IP.

  • API logins counted?

    Unsolved
    2
    0 Votes
    2 Posts
    129 Views
    barisB

    Since the api calls the standard login controller https://github.com/NodeBB/NodeBB/blob/master/src/controllers/write/utilities.js#L32 it behaves the same as someone going to /login and logging in.

  • 0 Votes
    5 Posts
    247 Views
    barisB

    https://github.com/NodeBB/NodeBB/commit/bcb2733f5c7ea463fb6f4e05c7f104b811ebac16

  • Cache refresh

    Unsolved
    4
    0 Votes
    4 Posts
    169 Views
    R

    Thank you, that works perfectly. In most cases something like this is much better handled through the write API. However in this instance, due to the large number of updates, it was much more efficient to process them through a script (roughly 50x faster).

  • How to get all topics name, not only from index data?

    Solved
    3
    0 Votes
    3 Posts
    164 Views
    eeeeeE

    You can see it working here
    https://aignite.nodebb.com/category/11

    Would be easy to add sort

  • 0 Votes
    5 Posts
    215 Views
    barisB

    Seems like all that code is gone in latest 3.x so the issue might be resolved already.

  • 0 Votes
    3 Posts
    215 Views
    DownPWD

    @baris

    @baris said in Recent page and Recent Card update doesn't work for one account:

    So this started after you migrated your server?

    2 or 3 days after
    @baris said in Recent page and Recent Card update doesn't work for one account:

    I would login with that user and make a new reply and see if that shows up in recent

    he use his account, he can answer tot topic but nothing in recent

    @baris said in Recent page and Recent Card update doesn't work for one account:

    Other things to check are blocked users, ignored categories

    Where can I check this?
    I put this user in the admin group and same things

    @baris said in Recent page and Recent Card update doesn't work for one account:

    If all else fails you need add some console.logs into src/controllers/recent.js to figure out why no topics are returned for that user.

    So there I am dropped 🙂

  • Docker deployment issue

    Unsolved
    1
    0 Votes
    1 Posts
    118 Views
    pedrogaudencioP

    I'm trying to setup a Digital Ocean app using the Dockerfile below - this is based on the original Dockerfile from the Docker container packages. I managed to get this working locally having little changes made to the original Dockerfile, since I'm using a custom template and this is pulled from a public git repo on the NodeBB package.json file, so no major changes from the normal setup.

    Here's the Dockerfile I'm using:

    FROM --platform=linux/amd64 node:lts as npm RUN mkdir -p /usr/src/build && \ chown -R node:node /usr/src/build WORKDIR /usr/src/build ARG NODE_ENV=production ENV NODE_ENV $NODE_ENV # nodebb-docker/ folder contains the repo https://github.com/NodeBB/NodeBB COPY --chown=node:node nodebb-docker/install/package.json /usr/src/build/package.json USER node RUN npm install --omit=dev FROM --platform=linux/amd64 node:lts RUN mkdir -p /usr/src/app && \ chown -R node:node /usr/src/app WORKDIR /usr/src/app ARG NODE_ENV ENV NODE_ENV $NODE_ENV COPY --chown=node:node --from=npm /usr/src/build /usr/src/app USER node RUN npm rebuild && \ npm cache clean --force COPY --chown=node:node nodebb-docker /usr/src/app ENV NODE_ENV=production \ daemon=false \ silent=false EXPOSE 4567 CMD test -n "${SETUP}" && ./nodebb setup || node ./nodebb build; node ./nodebb start

    Even though the build is running successfully (locally and in production) and I can run the container locally, I get this message on failed deployment:

    [2023-07-27 13:56:26] 2023-07-27T13:56:26.239Z [3] - info: Launching web installer on port 4567 []

    Anyone has had this before? Thank you 🙏

  • Is it possible to run node in diffrent context root

    Unsolved
    5
    0 Votes
    5 Posts
    216 Views
    FrankMF

    Example for nginx https://docs.nodebb.org/configuring/proxies/nginx/

  • Looking for Dark Gaming Theme

    Moved
    6
    0 Votes
    6 Posts
    4k Views
    DownPWD

  • Remove Google Fonts - is it possible?

    Solved
    9
    0 Votes
    9 Posts
    472 Views
    J

    @Andreas-Niemeyer said in Remove Google Fonts - is it possible?:

    • restart server

    ./nodebb restart in form folder

  • Finding code behind route /api/category/:cid

    Solved
    3
    0 Votes
    3 Posts
    210 Views
    nullpointerN

    @baris said in Finding code behind route /api/category/:cid:

    https://github.com/NodeBB/NodeBB/blob/master/src/controllers/category.js#L24

    Thank you!

  • Install failed on Ubuntu 22.04

    Solved
    4
    0 Votes
    4 Posts
    241 Views
    julianJ

    I will say that we only test the $6 droplet (used to be 5).

  • Trying to get PrismJS to work with NodeBB

    Solved
    15
    0 Votes
    15 Posts
    532 Views
    phenomlabP

    @tankerkiller125 Very strange. I'm using the latest version of highlight.js with my own functions I provided, and everything works as intended. I had an issue before where basic text was being detected as bash for example, meaning every word almost was a different colour!

    Now I've disabled the Markdown version and implemented my own, it looks so much better. I'm using a theme switcher I wrote so that when themes change, it also pulls the highlight.js theme css file.

  • 0 Votes
    28 Posts
    4k Views
    oplik0O

    Okay, so I have fixes for both issues in a working state now 🙂 Not sure it'll be done in time for 3.3 though
    https://github.com/NodeBB/NodeBB/pull/11820

    If this is merged, other than fixing the issue with the icon selector, NodeBB will have support for FA pro enabled by installing the npm package (see instructions here: https://fontawesome.com/docs/web/setup/packages - this step requires setting up access to their package repo so it can't be done by NodeBB) and adding a configuration value (two if you want additional styles - FA seems to recommend not including all styles at once, so NodeBB will just use solid, regular and brands by default. Others require adding to configuration and rebuilding css)

  • This topic is deleted!

    Unsolved
    1
    0 Votes
    1 Posts
    6 Views
  • Slick Theme Not Compatible With v3?

    Solved
    11
    0 Votes
    11 Posts
    428 Views
    T

    @baris said in Slick Theme Not Compatible With v3?:

    Link Preview Image Support for security vulnerabilities in 1.x and 2.x

    We recently received some inquiries about how long we will support 1.x and 2.x with security fixes. 1.x will be supported for another 12 months up until Aug...

    favicon

    NodeBB Community (community.nodebb.org)

    Thank you! I'll bookmark the link.

  • Access to admin account

    Unsolved
    3
    0 Votes
    3 Posts
    462 Views
    oplik0O

    There are also two cli commands for this!

    ./nodebb user make admin <uid> for what you and Baris described - giving an existing user administrative privileges ./nodebb user reset <uid> to reset the password (<uid> will be 1 for default admin; the command will auto-generate a password and return it, you can also set your own with -p/--password option)