Skip to content

Technical Support

Need help with installing or configuring NodeBB? Look here.

4.8k Topics 26.8k 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.
  • 3.11.0 Upgrade Support

    Pinned
    1
    0 Votes
    1 Posts
    81 Views
    barisB
    If you have problems upgrading to 3.11.0 you can ask for help here.
  • User, group, tag and more pages do not have canonical URL

    Solved
    14
    1 Votes
    14 Posts
    284 Views
    Justas AznaJ
    @baris yeah, it seems you're right about pagination. They have changed their recommendation it seems. Thanks for getting back.
  • NodeBB error on startup

    Unsolved
    8
    0 Votes
    8 Posts
    38 Views
    codenamejessicaC
    I just wanted to take a moment to acknowledge how amazing all of you are in working with this system. While this little bug might be frustrating, I’m confident we can figure it out. I’m committed to finding a solution and contributing to making this one of the best systems out there! Thank you for all the incredible work you do. (Besides I like breaking things... Why is it only on a Monday though, Mondays are my busiest days HAHA)
  • Am I Missing Something?

    Unsolved
    1
    0 Votes
    1 Posts
    31 Views
    codenamejessicaC
    Ok, I may be the weird one here, but I want to display Powered by NodeBB on the forums of my site. Although it is not there, I know I can put it in a widget and display it in the global footer. But I am surprised that it isn't there by default. Did I accidently turn it off? Is it not there by default on the Peace Theme? Thought I would ask first.
  • Allow User Data and Cookies Cross Domain

    Unsolved
    5
    1 Votes
    5 Posts
    108 Views
    codenamejessicaC
    Actually, figured it out! I would like to tell you what I did, but I really don't know. I broke my CSRF tokens, then in pure panic fixed it by messing around with the nginx config. But let me show you what is working: The nginx config above (I edited it with the new one) This code here for the Logout: updateUserNavForLoggedInUser(userData) { const navContainer = document.getElementById('elUserNav'); const userPicture = userData.picture ? `<a href="https://discussions.codenamejessica.com/user/${userData.username}" rel="nofollow" class="nodebbUserPhoto nodebbUserPhoto--fluid nodebbUserNav__link" title="Go to ${userData.username}'s profile"> <img src="${userData.picture}" alt="${userData.username}" class="nodebbUserNav__avatar"> </a>` : `<a href="https://discussions.codenamejessica.com/user/${userData.username}" rel="nofollow" data-nodebb-hook="userNoPhotoWithUrl" class="nodebbUserPhoto nodebbUserPhoto--fluid nodebbUserNav__link" title="Go to ${userData.username}'s profile"> <div class="nodeBBNavNoPhotoTile"> ${this.getInitial(userData.username)} </div> </a>`; navContainer.innerHTML = ` <li data-el="profile"> ${userPicture} </li> <li data-el="logout"> <button class="nodebbUserNav__link" id="logoutButton"> <i class="fa-solid fa-right-from-bracket" aria-hidden="true"></i> <span class="nodebbUserNav__text">Log Out</span> </button> </li> `; // Attach the logout functionality to the button document.getElementById('logoutButton').addEventListener('click', this.logoutUser); }, logoutUser() { axios.get('https://discussions.codenamejessica.com/api/config', { withCredentials: true, // Include cookies }) .then(response => { const csrfToken = response.data.csrf_token; // Extract CSRF token return axios.post('https://discussions.codenamejessica.com/logout', {}, { withCredentials: true, // Include cookies headers: { 'x-csrf-token': csrfToken, // Use retrieved CSRF token }, }); }) .then(() => { window.location.href = 'https://codenamejessica.com/'; }) .catch(error => { console.error('Error logging out:', error); alert('Failed to log out. Please try again.'); }); }, Ultimately It took getting the user's x-csrf token, which I acquired by adding the x-csrf items and adding the logout to the api section of the nginx config. Then I was able to acquire the x-csrf from the const csrfToken = response.data.csrf_token;. Sending that in with a post, and redirect back to the website. AGGHHH! That was hard! Don't judge me, I see your eyes giving me those looks.
  • Persona logo too small

    Solved
    3
    0 Votes
    3 Posts
    62 Views
    kainosK
    @baris said in Persona logo too small: You can use the custom css tab to change the height on persona, something like below. .header .forum-logo { max-height: 75px; // default is 50px for persona width: auto; } So simple, thanks baris
  • Email missing while API create user

    Solved
    4
    0 Votes
    4 Posts
    58 Views
    barisB
    You can read more info here https://community.nodebb.org/topic/16962/all-about-emails-and-how-they-re-used-in-nodebb, tldr version is passing in email to user.create only sends a confirmation email to that email and doesn't set the email to the user account. Only when the user clicks the link in the confirmation email it is set into the user account.
  • Redirect Users to Another Website for Registration

    Unsolved
    3
    0 Votes
    3 Posts
    138 Views
    S
    I've managed to do it with this plugin : https://github.com/julianlam/nodebb-plugin-session-sharing
  • Acitavation email

    Unsolved
    5
    0 Votes
    5 Posts
    75 Views
    codenamejessicaC
    Let's see if we can break this down. This is what happened to me. I made sure 25, 443, 465, and 587 were open in the firewall, but email was still being blocked with similar messages. I contacted IONOS (my hosting provider), and they told me that port 25 blocks any mail attempt and it needs to be opened before 587 would work. I think is stupid (or a croc of $h..) but here we are, they opened port 25 and everything is working again. 550-Requested action not taken: mailbox unavailable: This indicates that the recipient's email address couldn't be found or is inaccessible on their mail server. 550-Sender address is not allowed: This means the recipient's mail server has blocked your server's sender address or domain. 550 1MspyA-1tdm9M1E6a-012smp: This is a unique identifier for the error on the recipient's server, not very helpful for troubleshooting. Here's a breakdown of potential causes and how to troubleshoot them: Recipient Email Address Issues: Typo in the email address: Double-check for any typos in the recipient's email address. Even a small mistake can cause this error. Always start with the simplest solution, and also make sure the mailbox exists and isn't full. (I am sure you have already tried these, but it doesn't hurt to double-triple check) Sender Reputation and Authentication: Sender address is blacklisted: Your server's IP address or sending domain may be on a blacklist due to past spam complaints or issues. You can use tools like MXToolbox to check if your server's IP is blacklisted. Lack of proper authentication: The recipient's server may require authentication (like SPF, DKIM, or DMARC) to verify that your server is authorized to send emails from the sender's domain. Make sure these authentication methods are correctly set up for your domain. Reverse DNS issues: The recipient server might be checking for a valid reverse DNS record for your server's IP address. Ensure that your server has a proper PTR record that matches your domain name. Server Configuration Problems: Firewall issues: A firewall on your server or the recipient's server might be blocking the connection or specific ports needed for email communication. Incorrect MX records: MX records tell email servers where to deliver mail for your domain. If your domain's MX records are incorrect, emails might be sent to the wrong server. Relaying issues: The recipient's server may be configured to prevent relaying, which is when a server sends an email to a recipient that's not hosted on that server. This is a security measure to prevent spam. Other types of troubleshooting Check your server logs: Look for any error messages or clues about why the email was rejected in your mail server logs (e.g., /var/log/mail.log). Contact the recipient's email provider: If you suspect the issue is on their end, you may need to reach out to their email provider for assistance. Once you get it working, don't forget to: Use an email testing tool: Tools like Mail-tester.com can help you diagnose email deliverability problems and identify potential issues with your server configuration or sender reputation. Codename: Jessica Linux Enthusiast | Adventurer | Smart Ass My Site | Join the Forum [image: 9wqynsG.png] [image: endpoint?url=https%3A%2F%2Fquotes.codenamejessica.com%2Frandom-quote&cacheSeconds=10&style=for-the-badge]
  • Navbar on the top for Harmony as Persona

    Solved
    13
    0 Votes
    13 Posts
    314 Views
    kainosK
    @baris said in Navbar on the top for Harmony as Persona: That setting is at /admin/settings/general#home-page you can change the home page to /recent there. Thanks @baris
  • Couldn't set default admin username and password in config.json

    13
    0 Votes
    13 Posts
    3k Views
    BatchfyB
    @PitaJ Why not just accepting a config.json file as input to node setup? This would be way more convenient for automated setup. The string arguments and escapes are sooooo anoying.
  • ./nodebb build error and form go down ! Need help

    Unsolved
    4
    1 Votes
    4 Posts
    72 Views
    codenamejessicaC
    Also verify you are using node 22.11 Codename: Jessica Linux Enthusiast | Adventurer | Smart Ass My Site | Join the Forum [image: 9wqynsG.png] [image: endpoint?url=https%3A%2F%2Fquotes.codenamejessica.com%2Frandom-quote&cacheSeconds=10]
  • Chat keeps blocking users

    Solved
    8
    +1
    0 Votes
    8 Posts
    75 Views
    N
    Oh gee, I was changing the other thing in chat. I changed this one now too.
  • Harmony theme on mobile devices small bug fix

    Solved
    4
    +2
    1 Votes
    4 Posts
    57 Views
    barisB
    @juse thanks. Fixed in https://github.com/NodeBB/nodebb-theme-harmony/commit/143f3dd4ad879ea869710e0833659834700f4bd7
  • Pimp my NodeBB (codes for the holidays/christmas theme)

    31
    +0
    4 Votes
    31 Posts
    1k Views
    kainosK
    @julian said in Pimp my NodeBB (codes for the holidays/christmas theme): @kainos looks like you put those widgets in your global container. Try moving them to categories.tpl Thanks julian, I still have to learn.
  • Original image stays on server after upload

    Solved
    5
    0 Votes
    5 Posts
    79 Views
    julianJ
    @Paweł might be a good third party plugin? Some forums (e.g. photography) would definitely hate their images to be resized.
  • This topic is deleted!

    Unsolved
    2
    0 Votes
    2 Posts
    5 Views
  • Session problem with https

    Solved
    5
    0 Votes
    5 Posts
    58 Views
    PawełP
    After a few tweaks, everything works. The config from docs didn't work properly and is probably a bit outdated, (tls version, spdy...). First: CloudFlare SSL: Flexible to Full Second: New nginx setup: server { listen 80; server_name forum.example.com; return 302 https://$host$request_uri; } server { listen 443 ssl http2; server_name forum.example.com; ssl_certificate /home/ubuntu/nodebb/ssl/forum.crt; ssl_certificate_key /home/ubuntu/nodebb/ssl/forum.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers 'AES128+EECDH:AES128+EDH'; ssl_prefer_server_ciphers on; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://127.0.0.1:4567; # no trailing slash proxy_redirect off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
  • To use mysql, update or migration?

    Unsolved
    6
    0 Votes
    6 Posts
    61 Views
    N
    For anyone coming across this, It does not prompt or show what name to use. During install; Which database to use (mongo) postgres
  • changes not reflecting

    Unsolved
    1
    0 Votes
    1 Posts
    20 Views
    p pbP
    Changes are not reflecting on the local URL after I make updates to the code. Even after completely deleting the views folder and modifying the category.json file, restarting NodeBB, and refreshing the URL, no changes are visible. and url is still opening