Skip to content

NodeBB Development

Stay tuned here to hear more about new releases and features of NodeBB!

3.5k Topics 22.2k Posts

Subcategories


  • Posts from the NodeBB Development Blog
    96 Topics
    778 Posts
    julianJ

    Occasionally, we will get asked whether there are any differences between our hosted service and the open source project.

    It is as though we are holding back some great features and only allowing our paying customers access them! Conversely, it could be assumed that because we are hosting the software for others, that we would somehow out of self-interest or for economic reasons, deliver an inferior version with limitations.

    I'd like to say upfront that this is not the case for NodeBB.

    When you use our hosted service, you receive the same great NodeBB software that you can get for free off of our GitHub repository.

    What we're selling is support, maintenance, upgrades, and peace of mind delivered by our world-class† support team.

    You definitely can host NodeBB on your own! We've strived for years to deliver a piece of software that runs lean and fast on minimal hardware, great docs (some contributed by other admins!) that help you get up to speed quickly, and a fantastic community that will help you if you get stuck.

    The reason I take this principled stand is simple — I think it's unfair when artificial limitations are placed on software just for the purpose of getting customers to pay more.

    We've seen all this time and time again:

    You can't install any plugin you want, just a select few from a small list You can only have X units (tickets, posts, etc) of whatever you're using You can only have X admins/owners You can't see any messages older than X days

    These limitations are all artificial, and serve to restrict the use of something to the bare minimum. Anything extra is — of course — available for the right price.

    We don't do that. We tell everybody that NodeBB is powerful enough to run huge communities, and we stand by it. We tell everybody that NodeBB is flexible enough to look and function however you want, and we stand by it.

    These are the real limitations we impose on our hosting service:

    Hard drive space for uploads are imposed by our upstream provider and are set, though we are happy to add additional drive volumes for a fee) We have soft "pageview" limits that any user on our hosting can exceed (in fact, many do). We set them purely as a benchmark for the point at which your NodeBB may slow down depending on the type of load that you get, and encourage dialogue to make sure that you're on the right plan (server resources, etc.) We do not allow shell access for security reasons (and if you needed it, you probably could self-host)

    So please do rest assured when I and others tell you that what you see is what you get. No more, no less. I'd rather everybody get to use the best of NodeBB, instead of serving a special feature-reduced version for others.

    † I'm going to go out on limb here and say that we're probably the most qualified people to maintain NodeBB. Feel free to disagree 😉

  • You have a cool idea about NodeBB? Post it here.

    805 Topics
    5k Posts
    赵帅更

    Is anyone using WeChat to scan and log in? The plugin seems to be malfunctioning. Does anyone have a solution? Thx.
    Plugin: https://github.com/NodeBB-China/nodebb-plugin-sso-wechat-web

  • Found a bug? Why not make a bug report here?
    1k Topics
    7k Posts
    serhatS

    11dad6df-40c2-48ce-8aa2-cf26919c7ab3-image.png

    I successfully installed NodeBB using docker-compose.

    Everything seems to be working as expected, but when the nodebb container starts up, NodeBB starts running. However, when I connect to bash and check its status using the CLI, it shows that NodeBB is not running, even though it actually is.

    When I try to stop it, I can't. And when I try to start it using the CLI, even though I initially installed it with MongoDB, it gives an error related to postgres.

    Note:
    Initially I've installed NodeBB with Postgres, then I removed the container and installed with Mongo.

    1c23091b-3ef0-46ac-96b5-6145ef19e65c-image.png

  • Focused discussion related to ActivityPub integration in NodeBB

    43 Topics
    502 Posts
    pfefferle@mastodon.socialP

    @julian @devnull sure no problem!

  • Help Translate NodeBB
  • NodeBB For a Complete Beginner

    8
    0 Votes
    8 Posts
    4k Views
    J

    @AccessDenied
    I went through the same process as you a few months ago and I was able to find much of what I needed between these sources:

    The docs: https://docs.nodebb.org/en/latest/ (google searches will often send you to out of date versions, watch the urls!) The source: https://github.com/NodeBB/NodeBB (Having a good IDE helps with making sense of the source and doing good searches) I got a lot of help from purchasing Webstorm IDE (https://www.jetbrains.com/webstorm/) I've also heard people here like using Sublime Text with a lot of plugins installed. Finding any existing plugin with related functionality to what I was trying to do was very helpful. For some reason, I found the Mandrill email plugin really helpful at first (https://github.com/akhoury/nodebb-plugin-emailer-mandrill), but just dig around until you find something with functionality related to what you are trying to do. Lastly, I'd search and ask questions here under the plugins category (https://community.nodebb.org/category/7/nodebb-plugins). I've asked a lot of newb questions and the community has been awesome.

    A few more notes. When I was first interested in Javascript and Node.js about a year ago, I went through a bunch of tutorials online. I found this one to be very well done: https://github.com/workshopper/learnyounode

    Also, after developing a few plugins myself, I wrote this Slush based tool for generating NodeBB plugins based on a number of questions:
    https://www.npmjs.com/package/slush-nodebb-plugin

    Good luck!

  • 2 Votes
    16 Posts
    6k Views
    D

    @julian So if I want to backup and restore it will be specific to the database? 😞

  • This topic is deleted!

    3
    0 Votes
    3 Posts
    54 Views
  • Captcha when user login?

    2
    0 Votes
    2 Posts
    2k Views
    ?

    @hieudang use 2 factor authorization instead.

  • 0 Votes
    1 Posts
    1k Views
    F

    It's yet another container for nodebb, but I just tested this one with v0.9.x. I'm cloning from a fork because of this issue:

    Link Preview Image fatal error: nan.h: No such file or directory

    I am having this error, when trying to update my Dockerfile to use the v0.9.x branch. I will try the master.

    favicon

    NodeBB Community (community.nodebb.org)

    Heres is the Dockerfile:

    Link Preview Image Build software better, together

    GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 420 million projects.

    favicon

    GitHub (github.com)

    And the image in docker hub:

    Docker

    favicon

    (hub.docker.com)

  • how to writing own database driver?

    13
    1 Votes
    13 Posts
    5k Views
    B

    Ah, nope. Thought you had a diagnostic tool to recommend. Our server guy just said it was flushed and that we needed to move away; "redis isnt built for that, we simply cant run it in production when mongo is compatible."

    Although you can rig redis to work, mongo is better for the usecase. We will need the flexibility with non-standard extensions we will be using.

  • SSO Plugin questions

    1
    0 Votes
    1 Posts
    1k Views
    orweinbergerO

    I'm working with this SSO plugin skeleton: https://github.com/julianlam/nodebb-plugin-sso-oauth to create my own.

    I want to add a check to see if the user who is trying to connect to this 3rd party is already logged in to NodeBB, if so I would like to disregard the email address provided by the 3rd party sso and just add the other fields from the sso provider to his profile.

    The reason for this is becuase whenever a user is already logged in and tries to connect via SSO and that he is registered in that 3rd party with a different email address, NodeBB will create a new user.

    I can see that I need to add a check under the OAuth.login function but not sure how to check if there's currently a logged in session for this user.

  • Nodebb API get new users

    2
    0 Votes
    2 Posts
    1k Views
    barisB

    https://community.nodebb.org/api/users gives you the latest registered users.

  • web worker news?

    5
    0 Votes
    5 Posts
    2k Views
    B

    One of the devs on our team(Linux) referred to web workers as similar to clustering(but, on the clientside), due to the fact that it is an aggregation of threads. And that, the code in each module is similar in function.; offloading work to numerous threads. Most of the Links he sends me on the topic are from High Scalability.

    High concurrency requires both abilities at the higher end of the scale. I was checking as to the status of the frontend of the equation. It is not that I need them immediately, just that I have an interest in them as the site we are building is graphically intensive and could use any boast it can get on both ends.

    We incorporated this weekend and are physically building servers, to be colocated, for the next two months. I am certainly not in a hurry. 😉

  • 8 Votes
    31 Posts
    12k Views
    J

    Ah, ok great to know.

  • 0 Votes
    5 Posts
    2k Views
    julianJ

    @Chris that's for the downvote 😉

    @Kowlin Yeah, I believe @baris updated the imgur plugin so any uploaded images will save the https url in the post.

  • This topic is deleted!

    4
    0 Votes
    4 Posts
    26 Views
  • 1 Votes
    2 Posts
    2k Views
    julianJ

    NodeBB w/ MongoDB still works just fine even though the kerberos dependency doesn't build, it just means you can't connect to MongoDB servers utilising kerberos authentication.

    Would prefer not to have to add libkrb5-dev to the list of dependencies, so investigating alternatives...

  • Import attachments?

    2
    0 Votes
    2 Posts
    1k Views
    B

    @JSey there is an open ticket for this here

    Link Preview Image Support attachments · Issue #93 · akhoury/nodebb-plugin-import

    Vbulletin & mybb support attachments (on Postings)- it would be nice if we could import them.

    favicon

    GitHub (github.com)

    hopefully will be closing this soon, sorry about the late reply

  • When will 0.9.1 be released?

    6
    0 Votes
    6 Posts
    2k Views
    Fan LuoF

    @julian Thanks, I will give a try tonight!

  • 7 Votes
    51 Posts
    44k Views
    B

    i'd like to do Slovak translation

  • How should I work for NodeBB?

    10
    0 Votes
    10 Posts
    3k Views
    P

    @pichalite said:

    @julian how come I am not a community rep? 😞

    just kidding... :trollface:

    You are already it seems 🙂

  • 1 Votes
    22 Posts
    11k Views
    F

    @agusputra I agree with your suggestion about helper buttons. The open source project Rocket Chat has an unobtrusive way of hinting basic Markdown syntax.
    0_1447403857660_markdown_hint1.png
    Simply a line of greyed text that becomes regular text on mouseover
    0_1447403978825_markdown_hint2.png
    It might be useful to have something like this at the bottom of the editor input field.

  • Where is users map?

    7
    3 Votes
    7 Posts
    2k Views
    E

    @baris said:

    Yeah its a nice feature to have when you have a small community because you only ever see a few users in the browsing user list.

    However once you have a forum where a topic has >500 users it becomes useless and just a unnecessary strain on server resources like julian said.

    We will probably bring it back as a plugin.

    i see, thank you for the info

    if you planning to remove functionality in favor of big communities maybe this could work too https://community.nodebb.org/topic/6920/about-topic-follow-notification-spam/

  • [REQUEST] SSDB Connector

    Unsolved
    5
    1 Votes
    5 Posts
    2k Views
    ?

    @psychobunny said:

    Hmm, can you get a stack trace on that error?

    Nope - nothing.