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.

  • Stuck in a loop during install

    4
    0 Votes
    4 Posts
    2k Views
    barisB

    Fixed on master thanks for reporting.

  • Delet chat history and block user for chat

    3
    0 Votes
    3 Posts
    2k Views
    barisB

    One way to block people from sending chat messages to you is by turning on.

    upload-09abfcd7-c938-429c-833a-d833f08b6f65

  • This topic is deleted!

    1
    0 Votes
    1 Posts
    12 Views
  • Emoji Extended issues

    Solved
    3
    0 Votes
    3 Posts
    2k Views
    K

    Thank you very much for your reply! 😃

  • Sharing Windows Server with Nodebb and Wordpress

    24
    0 Votes
    24 Posts
    13k Views
    RichGR

    I started off this quest with just a simple problem. To have the ability for users to address my nodebb forum (http://theamericanbulletin.com:8080) as (“http://forum.theamericanbulletin.com”). This simple problem turned into a quest through countless videos and reading ( at least fifty) mindnumbing posts on blogs and other forums. I am running a Windows server ( 2008 ) with IIS to service my Wordpress main site. My NodeBB forum is listening on port 8080. All advice was to work within the framework of Windows and IIS, using 'Rewrite', to route traffic on the Server. After days of frustration, I had to come up with a better plan. One that gets me above proprietary nuances. The only way to do that was to get hold of port 80 myself..my own proxy server.. and what better webserver than Nodejs. With little of a search I came accoss this project.

    Link Preview Image GitHub - http-party/node-http-proxy: A full-featured http proxy for node.js

    A full-featured http proxy for node.js. Contribute to http-party/node-http-proxy development by creating an account on GitHub.

    favicon

    GitHub (github.com)

    I git cloned the above link. Renamed the new directory to nodeproxy e:\nodeproxy> npm install ( pulls all the needed modules) created a new directory under the new 'nodeproxy' entitled MyProxy Created the MyProxy.js file ( contents below ) Moved my WordPress to listen on port 8081 in IIS Started new proxy server (e:\nodeproxy\myproxy> node myproxy.js ) Done!

    Some notes about the js file. When I first started I used this post as a guideline. It used a routing table... exactly what I was looking for. Although I was not needing to spin-up three test servers, this provided some insight into the power if this little application. I could, if I wanted to.... spin-up as many listeners as I wanted..... listening on whatever, or as many port(s) as I wanted.

    Link Preview Image nodejs: routing table using http-proxy

    Trying to put in place an http proxy with a custom routing logic using http-proxy 1.4.3, following this tuto and executing the code below: var httpProxy = require("http-proxy"); var url = require(...

    favicon

    Stack Overflow (stackoverflow.com)

    var httpProxy = require("http-proxy"); var url = require("url"); httpProxy.createServer(function(req, res, proxy) { var hostname = req.headers.host.split(":")[0]; var pathname = url.parse(req.url).pathname; // Options for the outgoing proxy request. var options = { host: hostname }; // Routing logic if(hostname == "127.0.0.1") { options.port = 8083; } else if(pathname == "/upload") { options.port = 8082; options.path = "/"; } else { options.port = 8081; } // (add more conditional blocks here) proxy.proxyRequest(req, res, options); }).listen(8080); console.log("Proxy listening on port 8080"); // We simulate the 3 target applications var http = require("http"); http.createServer(function(req, res) { res.end("Request received on 8081"); }).listen(8081); http.createServer(function(req, res) { res.end("Request received on 8082"); }).listen(8082); http.createServer(function(req, res) { res.end("Request received on 8083"); }).listen(8083);

    I modified the above code to tailor it to my routes, but the server kept breaking. The proxy would throw a “socket hang up” when I moved between the Wordpress site and the NodeBB site. The error was not getting caught and the proxy would just break and go back to a system prompt. Another day of research lead me to this post.

    Link Preview Image Not Found

    favicon

    (www.clock.co.uk)

    It was in this post where the idea of wrapping the proxy-server within a domain arose. Perfect! I can pass the error up to the domain and let it dispose of it while the proxy keeps serving ( at least that's how I think it works). Plus the added benefit of having and overlord (parent) to all the potential listeners that could be spun-up to report to. But that is a whole different subject.

    So I added a Domain to the mix and came-up with a working solution. While this only apples to those with 'full' control over their servers, it does add a layer of control over proprietary systems running on your machine, and frees the developer (to a point) from those systems. I do not have to mess with rewrite... or some Apache routine tables. This is 'clean' and simple.

    Please feel free to improve on this concept and tighten this up. There is room for lots of improvement here. Please add to the knowledge.

    Rich

    MyProxy.Js

    var util = require('util'),
    http = require('http'),
    url = require('url'),
    domain = require('domain')
    httpProxy = require('../lib/http-proxy'),
    proxy = httpProxy.createProxyServer({});
    serverDomain = domain.create();
    proxy.on('error', function(err, req, res)
    {
    console.log(err.message);
    });
    serverDomain.run(function () {http.createServer(function(req, res)
    {
    var reqd = domain.create()
    reqd.add(req)
    reqd.add(res)
    // On error dispose of the domain
    reqd.on('error', function (error) {
    console.error('Error', error, req.url)
    reqd.dispose()
    });
    var oUrl = url.parse(req.url);
    if (typeof req.headers !== 'undefined' && req.headers.host.split)
    {
    var hostname = req.headers.host.split(":")[0];
    var pathname = oUrl.pathname;
    switch(hostname)
    {
    case 'forum.theamericanbulletin.com':
    proxy.web(req, res, { target: 'http://localhost:8080' });
    break;
    default:
    proxy.web(req, res, { target: 'http://localhost:8081' });
    };
    console.log(hostname);
    console.log(pathname);
    }
    }).listen(80,function(){
    console.log('proxy listening on port 80');
    });
    });

  • 0 Votes
    2 Posts
    2k Views
    nhl.plN

    Something went wrong with setting up connection to MongoDB. Could you please provide some more information about your configuration?

  • How to add </br> between <p> in composer

    Moved
    13
    1 Votes
    13 Posts
    5k Views
    yariplusY

    Hello





    I can do this by using a \ on a line.

  • Menu does not work on iOS and Safari

    3
    0 Votes
    3 Posts
    2k Views
    A

    @psychobunny said:

    This is a confirmed issue. I was supposed to get my hands on an iPhone this weekend but couldn't unfortunately. Also it seems to work on safari for windows 👎

    Can you not go down to that device place in Toronto that has all sorts of devices? Is it even still there. 😛

  • Connect nodebb with 123flashchat

    1
    0 Votes
    1 Posts
    1k Views
    Greg LucianiG

    Hi,
    I love to know how to connect Nodebb with 123flashchat.
    So members who register on the forum, can connect to chat with the same ID.
    In the admin panel of 123flashchat, there is a URL AUTH identification system.
    Could you help me to do this please?
    Thank you very much.

  • Autostarting loader.js

    5
    0 Votes
    5 Posts
    2k Views
    E

    So I tried the command cd /var/www/mynodebb/ && sudo ./nodebb start and it worked manually like a charme but when I try to auto start this as a script it still fails, here is what I did (running ubuntu 14.04 lts @ ec2 instance):

    sudo vi /usr/local/bin/autostart.sh #!/bin/sh cd /var/www/mynodebb && sudo ./nodebb start

    sudo chmod 4755 autostart.sh

    sudo vi /etc/xdg/autostart/vmware-user.desktop

    [Desktop Entry] Type=Application Encoding=UTF-8 Exec=/usr/bin/vmware-user-suid-wrapper Name=VMware User Agent # KDE bug 190522: KDE does not autostart items with NoDisplay=true... # NoDisplay=true X-KDE-autostart-phase=1 exec=/usr/local/bin/autostart.sh

    doesn't work... but as I' reading this I might guess that it doesn't work because I don't load any "Desktop" or GUI!? I use this method because of the autostart wiki of ubuntu

  • Change The Way Categories Look?

    Solved
    5
    0 Votes
    5 Posts
    2k Views
    codejetC

    @psychobunny said:

    Technically speaking you can deploy Persona now if you switch to our development (master) branch. That said, may as well wait till next week when we release 0.7

    How do you do spoilers again.. 😉

    Can't wait !

  • Is emoji-extended acting strange in chrome

    6
    0 Votes
    6 Posts
    2k Views
    codejetC

    @julian yeahh did. It's ok, I waiting for something else to come into affect anyway before I do anything NodeBB-wise. It's fine

  • Make a simple login form work

    3
    0 Votes
    3 Posts
    2k Views
    E

    thank you so much. i'm sorry that i haven't found this by searching, but I was in a hurry because we worked on launching a closed beta version of our board so things got a little bit hectic in the last days

  • ERR value is not an integer or out of range

    Solved
    5
    0 Votes
    5 Posts
    5k Views
    Moritz FriedrichM

    Nope- problem seems gone now, since the machine migration everything is fine and I get no more errors. Thanks though 😊

  • Code Block in Post

    8
    0 Votes
    8 Posts
    5k Views
    julianJ

    @Kozax above and below

  • Disable widget only in mobile - possible

    8
    0 Votes
    8 Posts
    3k Views
    P

    hidden-xs

  • Bulk account creation

    3
    0 Votes
    3 Posts
    2k Views
    julianJ

    Alternatively, you could consider installing the write-api and importing the users that way.

  • Infinite Request Loop - Wrong Post Count

    11
    1 Votes
    11 Posts
    4k Views
    S

    @psychobunny no, I have not, but I suspect it may be plugin related or something screwy about this thread in the database. I have been distracted by a million other things and one misbehaving thread wasn't my priority, but I will look and see if I can figure something else out.

  • What theme does this NodeBB install use?

    Moved
    3
    0 Votes
    3 Posts
    2k Views
    Daniel DoyleD

    Ah, fantastic, thanks

  • 502 Proxy Error on login

    16
    0 Votes
    16 Posts
    6k Views
    barisB

    This is fixed on master, thanks for reporting.