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.

  • console: Missing translation

    1
    0 Votes
    1 Posts
    254 Views
    C

    I have upgraded my nodebb to v1.12.2 and I am using apache2 as a proxy (https://docs.nodebb.org/configuring/proxies/apache/) but there is an error in the console saying that translations are missing. I just can see the placeholder strings in my forum (remember_me etc.).

    The translation files are there, inside the public directory of my nodebb installation.

    The problem is that the directory assets does not exist. I tried to set a rewrite condition in the apache2 config file for my forum, in order to rewrite assets for public, but no success. Any help would be very much appreciated.

    UPDATE: ./nodebb log shows me the same Missing translation errors, so I guess it has nothing to do with Apache

    Update 2: I can also view the source of the translation files from the link prefetch.

    Update 3: it seems like it is only an issue when I am logged in as a user in my nodebb installation

    Update 4: the issue with only with the current admin user, and for some reason the language setting for this user, after updating nodebb, was set to a language which was not installed on my system. I set it to en-US and all is good now.

    Here is a screenshot:

    Screen Shot 2019-06-03 at 12.55.16.png

  • 0 Votes
    6 Posts
    1k Views
    PitaJP

    What version of mongodb? Try downgrading to mongo 3.x

  • Logged in users, post as guests?

    1
    1 Votes
    1 Posts
    225 Views
    omegaO

    Q: Is it possible for Logged in users to post also posts as guests?

    Reason this would be useful is to allow guest posting, that can only be viewed when logged in.

    Currently guest post would be wide to the world.

    Sometimes existing users and newbies on certain types of forums would like to be able to revert to guest posting where anonymity is important, "asking for a friend..." type questions! 😉

    I also have a vague sense this might have already been covered before but I didn't find the exact thread - Please point me in the right direction id this is duplication! Tx!

  • Search options for 2019 NodeBB

    4
    0 Votes
    4 Posts
    360 Views
    S

    @julian said in Search options for 2019 NodeBB:

    Dbsearch is the recommendation

    This is what we are using now. We used to use Solr but it had issues and we came back.

  • socket.io not found (err 404)

    5
    0 Votes
    5 Posts
    1k Views
    S

    here the main config for the vhost:

    #ATTENTION! # #DO NOT MODIFY THIS FILE BECAUSE IT WAS GENERATED AUTOMATICALLY, #SO ALL YOUR CHANGES WILL BE LOST THE NEXT TIME THE FILE IS GENERATED. server { listen 212.227.91.81:443 ssl http2; server_name community.hypercube-evolution.de; server_name www.community.hypercube-evolution.de; server_name ipv4.community.hypercube-evolution.de; server_name "community.hypercube-evolution.de.212-227-91-81.siam-net.de"; ssl_certificate /usr/local/psa/var/certificates/scfbHTbkW; ssl_certificate_key /usr/local/psa/var/certificates/scfbHTbkW; ssl_client_certificate /usr/local/psa/var/certificates/scfLt0HmX; client_max_body_size 128m; root "/var/www/vhosts/hypercube-evolution.de/community.hypercube-evolution.de"; access_log "/var/www/vhosts/system/community.hypercube-evolution.de/logs/proxy_access_ssl_log"; error_log "/var/www/vhosts/system/community.hypercube-evolution.de/logs/proxy_error_log"; #extension letsencrypt begin location ^~ /.well-known/acme-challenge/ { root /var/www/vhosts/default/htdocs; types { } default_type text/plain; satisfy any; auth_basic off; allow all; location ~ ^/\.well-known/acme-challenge.*/\. { deny all; } } #extension letsencrypt end location / { proxy_pass https://212.227.91.81:7081; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Accel-Internal /internal-nginx-static-location; access_log off; } location /internal-nginx-static-location/ { alias /var/www/vhosts/hypercube-evolution.de/community.hypercube-evolution.de/; internal; } location ~ ^/(plesk-stat|awstats-icon|webstat|webstat-ssl|ftpstat|anon_ftpstat) { proxy_pass https://212.227.91.81:7081; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Accel-Internal /internal-nginx-static-location; access_log off; } location ~ ^/~(.+?)(/.*?\.php)(/.*)?$ { alias /var/www/vhosts/hypercube-evolution.de/web_users/$1/$2; fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_pass "unix:///var/www/vhosts/system/community.hypercube-evolution.de/php-fpm.sock"; include /etc/nginx/fastcgi.conf; } location ~ ^/~(.+?)(/.*)?$ { proxy_pass https://212.227.91.81:7081; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Accel-Internal /internal-nginx-static-location; access_log off; } location ~ \.php(/.*)?$ { fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_pass "unix:///var/www/vhosts/system/community.hypercube-evolution.de/php-fpm.sock"; include /etc/nginx/fastcgi.conf; } location ~ /$ { index "index.html" "index.cgi" "index.pl" "index.php" "index.xhtml" "index.htm" "index.shtml"; } add_header X-Powered-By PleskLin; include "/var/www/vhosts/system/community.hypercube-evolution.de/conf/vhost_nginx.conf"; }

    and here the include

    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; proxy_redirect off; # Socket.IO Support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; }
  • Nodebb sso oauth2

    3
    0 Votes
    3 Posts
    872 Views
    julianJ

    That plugin is a fork of the sso-oauth plugin. You are supposed to modify mine (not this fork) for your specific installation.

  • NodeBB Heroku Port

    2
    0 Votes
    2 Posts
    296 Views
    julianJ

    Looks like the built files are not committed into the repo, so it keeps rebuilding and timing out.

  • Login Button/Registerbutton not working

    6
    0 Votes
    6 Posts
    532 Views
    S

    sorry this problem is solved the problem was the local firewall ☠

  • 0 Votes
    1 Posts
    316 Views
    cleoC

    Is there a way enable to search "all" as default for db-search in the forum search bar.

    searchbar.jpg

    "All" , in context of Titles and Post, Users, Tags and especially post content, which means
    the keyword will be retrieved as long as it exist within the post. Currently, keyword search are only limited to post titles.

    filter_choices1.jpg

    On the other note: Will there be a possibility of having nodebb plugin for Algolia Search?

    Thank you so much. I highly appreciate your help.

  • 0 Votes
    3 Posts
    383 Views
    cleoC

    Thank you so much for your response.

    Submitted an issue for this: https://github.com/NodeBB/NodeBB/issues/7601

  • Default settings for mail subscriptions.

    1
    0 Votes
    1 Posts
    195 Views
    ufan0U

    I want to edit the default settings for mail subscriptions for all users in my forum.
    But I can‘t find it out.
    Who can help me.
    Thanks.

  • Help!

    5
    0 Votes
    5 Posts
    492 Views
    ufan0U

    @julian I guess so, I Manually edit the configuration file finally, and it works.

    Thanks a million!

  • NodeBB and MongoDB unix sockets

    1
    0 Votes
    1 Posts
    317 Views
    M

    My goal is to connect NodeBB to MongoDB only with unix socket.
    Found here that is possible to use unix socket with mongodb, also this link was helpfull but can't figure out how to solve this error.

    Why "error: failed to connect to server [%2Ftmp%2Fmongodb-1033.sock:27017]" there is default 27017 port, whats missing in this config?

    { "url": "http://www.example.net/forum", "secret": "secret", "database": "mongo", "port": [ "/home/forum/webapps/nodebb.sock" ], "mongo": { "uri": "mongodb://user:pass@%2Ftmp%2Fmongodb-1033.sock/db_name", } } 2019-05-24T20:31:32.180Z [/home/forum/webapps//nodebb.sock/10753] - error: uncaughtException: failed to connect to server [%2Ftmp%2Fmongodb-1033.sock:27017] on first connect [Error: getaddrinfo ENOTFOUND %2Ftmp%2Fmongodb-1033.sock at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:60:26) { name: 'MongoError', message: 'getaddrinfo ENOTFOUND %2Ftmp%2Fmongodb-1033.sock' }] MongoError: failed to connect to server [%2Ftmp%2Fmongodb-1033.sock:27017] on first connect [Error: getaddrinfo ENOTFOUND %2Ftmp%2Fmongodb-1033.sock at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:60:26) { name: 'MongoError', message: 'getaddrinfo ENOTFOUND %2Ftmp%2Fmongodb-1033.sock' }] at Pool.<anonymous> (/home/forum/webapps/nodebb/node_modules/mongodb-core/lib/topologies/server.js:336:35) at Pool.emit (events.js:196:13) at Connection.<anonymous> (/home/forum/webapps/nodebb/node_modules/mongodb-core/lib/connection/pool.js:280:12) at Object.onceWrapper (events.js:284:20) at Connection.emit (events.js:196:13) at Socket.<anonymous> (/home/forum/webapps/nodebb/node_modules/mongodb-core/lib/connection/connection.js:189:49) at Object.onceWrapper (events.js:284:20) at Socket.emit (events.js:196:13) at emitErrorNT (internal/streams/destroy.js:91:8) at emitErrorAndCloseNT (internal/streams/destroy.js:59:3) {"error":{"name":"MongoError","message":"failed to connect to server [%2Ftmp%2Fmongodb-1033.sock:27017] on first connect [Error: getaddrinfo ENOTFOUND %2Ftmp%2Fmongodb-1033.sock\n at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:60:26) {\n name: 'MongoError',\n message: 'getaddrinfo ENOTFOUND %2Ftmp%2Fmongodb-1033.sock'\n}]"},"stack":"MongoError: failed to connect to server [%2Ftmp%2Fmongodb-1033.sock:27017] on first connect [Error: getaddrinfo ENOTFOUND %2Ftmp%2Fmongodb-1033.sock\n at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:60:26) {\n name: 'MongoError',\n message: 'getaddrinfo ENOTFOUND %2Ftmp%2Fmongodb-1033.sock'\n}]\n at Pool.<anonymous> (/home/forum/webapps/nodebb/node_modules/mongodb-core/lib/topologies/server.js:336:35)\n at Pool.emit (events.js:196:13)\n at Connection.<anonymous> (/home/forum/webapps/nodebb/node_modules/mongodb-core/lib/connection/pool.js:280:12)\n at Object.onceWrapper (events.js:284:20)\n at Connection.emit (events.js:196:13)\n at Socket.<anonymous> (/home/forum/webapps/nodebb/node_modules/mongodb-core/lib/connection/connection.js:189:49)\n at Object.onceWrapper (events.js:284:20)\n at Socket.emit (events.js:196:13)\n at emitErrorNT (internal/streams/destroy.js:91:8)\n at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)","exception":true,"date":"Fri May 24 2019 22:31:32 GMT+0200 (Central European Summer Time)","process":{"pid":10753,"uid":1003,"gid":100,"cwd":"/home/forum/webapps/nodebb","execPath":"/usr/local/bin/node","version":"v12.1.0","argv":["/usr/local/bin/node","/home/forum/webapps/nodebb/app.js"],"memoryUsage":{"rss":145326080,"heapTotal":101863424,"heapUsed":67882440,"external":37486265}},"os":{"loadavg":[0.060546875,0.142578125,0.166015625],"uptime":33249},"trace":[{"column":26,"file":"dns.js","function":"GetAddrInfoReqWrap.onlookup [as oncomplete]","line":60,"method":"onlookup [as oncomplete]","native":false},{"column":35,"file":"/home/forum/webapps/nodebb/node_modules/mongodb-core/lib/topologies/server.js","function":null,"line":336,"method":null,"native":false},{"column":13,"file":"events.js","function":"Pool.emit","line":196,"method":"emit","native":false},{"column":12,"file":"/home/forum/webapps/nodebb/node_modules/mongodb-core/lib/connection/pool.js","function":null,"line":280,"method":null,"native":false},{"column":20,"file":"events.js","function":"Object.onceWrapper","line":284,"method":"onceWrapper","native":false},{"column":13,"file":"events.js","function":"Connection.emit","line":196,"method":"emit","native":false},{"column":49,"file":"/home/forum/webapps/nodebb/node_modules/mongodb-core/lib/connection/connection.js","function":null,"line":189,"method":null,"native":false},{"column":20,"file":"events.js","function":"Object.onceWrapper","line":284,"method":"onceWrapper","native":false},{"column":13,"file":"events.js","function":"Socket.emit","line":196,"method":"emit","native":false},{"column":8,"file":"internal/streams/destroy.js","function":"emitErrorNT","line":91,"method":null,"native":false},{"column":3,"file":"internal/streams/destroy.js","function":"emitErrorAndCloseNT","line":59,"method":null,"native":false}]} 2019-05-24T20:31:32.180Z [/home/forum/webapps//nodebb.sock/10753] - error: failed to connect to server [%2Ftmp%2Fmongodb-1033.sock:27017] on first connect [Error: getaddrinfo ENOTFOUND %2Ftmp%2Fmongodb-1033.sock at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:60:26) { name: 'MongoError', message: 'getaddrinfo ENOTFOUND %2Ftmp%2Fmongodb-1033.sock' }] {"name":"MongoError"} 2019-05-24T20:31:32.181Z [/home/forum/webapps//nodebb.sock/10753] - info: [app] Shutdown (SIGTERM/SIGINT) Initialised. 2019-05-24T20:31:32.182Z [/home/forum/webapps//nodebb.sock/10753] - error: Server is not running.
  • Still cannot see cards.

    3
    0 Votes
    3 Posts
    304 Views
    julianJ

    The error suggests a 404 page may be getting served, try going to that url, what do you see?

    Perhaps you need to rebuild NodeBB?

  • Embed nodebb angular app and Authentication

    2
    1 Votes
    2 Posts
    291 Views
    PitaJP

    It's possible, but not easy. There are a few options:

    create a theme for NodeBB, render NodeBB in an iframe and embed that in your page render NodeBB templates in an angular component and embed that in your page interface directly with the NodeBB rest API, creating a frontend in angular
  • MongoDB crashes sometimes

    8
    0 Votes
    8 Posts
    3k Views
    gotwfG

    @scottalanmiller said in MongoDB crashes sometimes:

    I know it has been a while, but what did your investigation find?

    Ha! I was just about to necro bump this thread to query same 😉

  • SMTP setup error - "Greeting never recieved"

    10
    0 Votes
    10 Posts
    3k Views
    omegaO

    @julian Cool thanks, yea poor ns-embed is not happy in 1.12.2 - I and others already flagged in that thread, still, A Great plugin!

    👌 Ok SMTP/EMAIL is fixed!

    Some deeper DNS/MX work seems to have made the difference and using "encrypted" setting - initially I was using StartTLS as per email provider SMTP guide, which specified TLS - tested it again and StartTLS broke it.

    Encrypted works.

  • Need help about Install

    20
    0 Votes
    20 Posts
    2k Views
    julianJ

    Hope your backups are good 😄

    I'd recommend setting up static file serving on nginx, but I bet you do that already.

  • How nodebb loads pages?

    2
    3 Votes
    2 Posts
    445 Views
    julianJ

    It's a little difficult to explain, but at a high level, we're a single page app, which means when you click on an anchor, we request the JSON for the new page, render the html on the user browser, empty everything in #content, and inject it into #content. The overlay is a transition that makes this process a little smoother.

    We use a templating engine called Benchpress to render templates on both server and client-side.

  • 0 Votes
    6 Posts
    633 Views
    julianJ

    Got me scared there for a sec 😄