Skip to content

NodeBB Development

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

2.7k Topics 17.3k 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 😉

  • 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

    52 Topics
    629 Posts
    mikedev@fediversity.siteM
    Third party issues are subtle enough that they're obvious only after you actually have to deal with them. I've been dealing with them for a long time now. Both in private groups and multiple protocol interactions - where we were trying to make something from protocol 'A' visible to somebody using protocol 'B' when we ourselves used protocol 'C'.

    Tokens are one way to do it, but they can be real tricky to secure, and they need to be stripped from conversational objects or inReplyTo's and de-duplication don't work correctly. Or give everybody in the conversation the exact same token - in which case they don't  really provide very good access control. These are things most people don't come to grips with until they try it.

    We've traditionally implemented private groups in other protocols by doing a straight resend/relay of a signed activity by the group actor, and we did this in AP with LD-signatures for a while. I don't think Mastodon supports relaying any more because they're now verifying sender-id (via the HTTP-sig) against actor-id and rejecting mismatches.

    FEP-8b32 along with Collections conveniently gets around all of the related issues. The sender and actor id of the Add activity matches, and the object is a complete signed activity.
  • Help Translate NodeBB
  • Add Categories in Sidebar

    2
    1 Votes
    2 Posts
    1k Views
    barisB

    You can use the categories widget for this.

  • 0 Votes
    2 Posts
    1k Views
    PitaJP

    @Hao-Lee do you mean filtering the posts by poster?

  • Hosting information?

    12
    0 Votes
    12 Posts
    3k Views
    A

    To be honest there are only 3 reasons when to use managed services:

    You do not know any better You are too lazy It is cheaper (rarely; only for enterprises commonly)

    Using NodeBB's managed service would cost me 750$ just for my forum alone. Not even to mention "side" applications like a CMS or a few static HTML pages.

    If I would count the traffic costs in (DO based calculation) the plan wouldn't be affordable for me.

    Assuming I just need the +5M PV plan for 750$ it still would mean that I pay more than 720-730$ more than for my current system, while losing many benefits of a dedicated setup.

    Another example, imagine I would have NodeBB on all my sites and those I manage (+90). Sometimes a rented server might not be an option anymore. Maybe you want more scalability and therefore actually need a cloud server, but it is too expensive. Or maybe it is sensitive data which you want to keep out of the cloud for security reasons.
    Lets take it even further. Despite the massive one time costs a server brings, you will even have to hire someone to monitor that one machine (usually you use a cluster, so you actually have +2 machines). Now you could have costs of approximately 3500-5000$ compared to 750$.

    Sure in the above case with multiple sites you would have to take 750*90. But imagine you have one big site with the same amount of visitors. Then it makes sense and actually saves you tons of ash.

    Some might ask himself now:
    "Why don't you do it better then?"
    First of all I am not that desperate for cash, second I won't be the dickface who steals useful funds.

  • 1 Votes
    6 Posts
    2k Views
    barisB

    Hiding it with css seems to be the best option here @yariplus has already given the necessary css.

  • This topic is deleted!

    1
    0 Votes
    1 Posts
    7 Views
  • This topic is deleted!

    Unsolved
    1
    0 Votes
    1 Posts
    38 Views
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    30 Views
  • 0 Votes
    5 Posts
    2k Views
    S

    @yariplus thanks. That has given me a ton of areas to research / grep and try out.

  • Emoji in Username

    8
    0 Votes
    8 Posts
    4k Views
    snodejokeS

    Thanks a lot @JasperNL, that's really helpful.

    If I get some availability any time soon, I'll sort out a PR for accepting the emoji unicode range.

  • What happened to the recent route on 1.1.0?

    4
    0 Votes
    4 Posts
    2k Views
    N

    My fault , thought it was in /recent
    😦 😦

  • Programatically create users

    7
    0 Votes
    7 Posts
    4k Views
    B

    @julian Oh definitely, will do. Thanks.

  • Updating User Profile picture using Write API

    Unsolved
    7
    0 Votes
    7 Posts
    3k Views
    G

    @pichalite Sigh alright, thanks for the help.

  • Get topics in category?

    6
    0 Votes
    6 Posts
    3k Views
    JamJ

    @yariplus cool, got it , thanks ~!

  • Render current URL in template file

    3
    0 Votes
    3 Posts
    1k Views
    barisB

    Link Preview Image added url property to all routes · NodeBB/NodeBB@8ea5752

    Node.js based forum software built for the modern web - added url property to all routes · NodeBB/NodeBB@8ea5752

    favicon

    GitHub (github.com)

    It will be available in all routes, you can use it with {url}

  • 0 Votes
    2 Posts
    1k Views
    T

    @xidui said in Is there some suggested user scale or machine type for noddbb?:

    We have more than 100k users and more than 400k contents(mongodump make about 1G size of directory).
    Initially we use 1G memory machine, we find that 503 error always come. Then we upgrade the machine to 2G, some error still comes. We now have upgraded it to 4G.

    I wonder that is there a suggested machine for our scale? Where is community.nodebb.org hosted?

    Totally, we find the response speed is too slow for some pages of noddbb. We are not satisfied about it.

    Take a look here.

    I won't answer your question fully. I can say with about 50 users I was very quickly hitting 503 errors and I had to move to 1G of memory. I had some discussion with others in this thread:

    Link Preview Image 503 - temporarily unavailable due to excessive load

    I know there was some discussion a few months back in this thread: https://community.nodebb.org/topic/6957/toobusy-excessive-load, but I wanted to see what a...

    favicon

    NodeBB Community (community.nodebb.org)

  • Possible bug? Deleted Posts listed

    13
    0 Votes
    13 Posts
    4k Views
    julianJ

    @wktang Yes, this does apply to IS as well.

  • 0 Votes
    5 Posts
    2k Views
    jareyJ

    @jiangcaiyang you can report an issue to request/discuss that option on the github repo. I'm pretty sure @administrators woul not mind to modify the behaviour if it doesn't break anything.

    Edit: update with the github issue for easier tracking in the forum.
    https://github.com/NodeBB/NodeBB/issues/4791

  • 0 Votes
    3 Posts
    2k Views
    ogerlyO

    ok thank'll look

  • 1 Votes
    1 Posts
    702 Views
    jiangcaiyangJ

    I want to figure out how could this message to be triggered, and want to make our own event handler.
    Thanks in advance.
    💡

  • 0 Votes
    1 Posts
    778 Views
    J

    I was having a look at the code, in the hopes of learning good practices I can use in my own projects and maybe be able to help develop nodeBB if I improve my skills a bit. While I'm familiar with workers and clustering, I fail to see what's the advantage of forking a process for a single process deployment and keep all the event handling.

    Wouldn't it be more efficient, to have just a single process spawned at the beginning of the script and remove all the event handling?