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

    53 Topics
    642 Posts
    julianJ

    Technical stuff ahead 🚨...

    This is merely exposing the frontend UI to the already established backend logic.

    We have two methods internally that are used for this:

    Notes.assert, which when given a object url or id, parses it and attempts to resolve the parent chain all the way to the top-level post. It then creates a topic to house all of those posts. Actors.assert, which when given an object url, id, or handle, creates a local representation of the user. How come "query"/etc. didn't show up?

    For both user and post searching, if the passed-in url does not resolve or does not resolve to a processable object, then we do not proceed. It's important to realize that while in an ideal world, we'd all be passing immutable identifiers everywhere, the real world is just a bit messier.

    Search queries could be a post or user URL, or a webfinger handle, so additional logic was required to handle those use cases. Most ActivityPub-enabled software I've encountered handle these vanity URLs when queried via ActivityPub — it returns the appropriate representation for processing. Some do not, and so in those cases, those items will not show up in the search results.

  • Help Translate NodeBB
  • 0 Votes
    1 Posts
    216 Views
    P

    I'm trying to Show recent topics or posts under each category on the home page but not as cards or using widgets is this possible?

  • Missing csrf token

    6
    0 Votes
    6 Posts
    545 Views
    barisB

    https://github.com/NodeBB-Community/nodebb-plugin-custom-pages/issues/65

  • Trying to customize a theme

    Moved
    4
    0 Votes
    4 Posts
    458 Views
    C

    I executed your steps and did not report any errors after restarting, but I did not find any changes. I would like to ask, if the above operation is successful, what changes should I see?🙄

  • 1 Votes
    3 Posts
    444 Views
    asdrubalivanA

    No. I just tried and it works @PitaJ. I just changed the hook and it worked. Thank you so much! This is now solved

  • 0 Votes
    4 Posts
    425 Views
    Dan OchianaD

    @julian found the issue and created a PR here https://github.com/NodeBB/nodebb-package-manager/pull/22

    Thank you for sharing the repo 🙂

  • Help Translate NodeBB!

    Moved
    49
    18 Votes
    49 Posts
    48k Views
    Andrei GheneaA

    @Atayz said in Help Translate NodeBB!:

    Hey, I've started working on the hebrew translation! 🙏

    Nice

  • Maintaining package.json across updates

    5
    0 Votes
    5 Posts
    615 Views
    G

    I created https://github.com/NodeBB/NodeBB/issues/8547

  • 1.14.0 Breaking Changes

    3
    2 Votes
    3 Posts
    574 Views
    barisB

    Link Preview Image get rid of category.image/category.backgroundImage · Issue #8386 · NodeBB/NodeBB

    For reasons unknown there are two fields for this image.

    favicon

    GitHub (github.com)

  • Search doesn't return results as I type

    4
    0 Votes
    4 Posts
    337 Views
    barisB

    What theme are you using? Does it work on persona?

  • Can't using sso login

    1
    0 Votes
    1 Posts
    217 Views
    Mark QinM

    i can using google, facebook, twitter sso-plugin on my nodebb forum, my nodebb version is: v1.13.4-5

    i found plugin in github not work, anybody have the same issues like me and how can you fix it?

  • Custom route

    7
    0 Votes
    7 Posts
    885 Views
    Roman KulikR

    no errors in logs.
    I have found the issue. After digging into the nodebb routing and rendering I found this line in ajaxify.js

    $('#content').html(translatedTemplate);

    and understood that I am using my custom theme without element with id = content, that was a problem.
    After adding 'id=content' to my body tag in header template everything become Ok)
    @PitaJ Thanks for support

  • Upload files via API

    3
    0 Votes
    3 Posts
    517 Views
    gotwfG

    Checking logs after an image upload: /api/post/upload might be the droid yer' looking for?

  • Request | beautiful theme with Hebrew support

    Moved
    3
    0 Votes
    3 Posts
    336 Views
    אשרא

    persone RTL is complect, but I want for exmple levender or vannila or Material Design

  • Alterate http reponse header

    4
    0 Votes
    4 Posts
    388 Views
    Yoann Aubry 0Y

    @PitaJ A request from a client, who needs to use x-forwarded-for in place of real-ip...
    I think, i'm going to rewrite at the nginx proxy side.

  • 0 Votes
    7 Posts
    657 Views
    Yoann Aubry 0Y

    yes, it's the solution i have chosen. Thx !

  • help with using helpers inside my theme

    Moved
    6
    0 Votes
    6 Posts
    3k Views
    Yoann Aubry 0Y

    @PitaJ I have created a specific topic. Is there a working example of helper implementation ? I have see nothing on GitHub and other modules/themes.

  • Show Read/Unread Posts or Topics in Groups?

    3
    0 Votes
    3 Posts
    374 Views
    PitaJP

    This isn't something you can do with template edits. You'll need to add that data on the server side.

  • 2 Votes
    10 Posts
    8k Views
    Yoann Aubry 0Y

    Does it still work? My helper functions don't seem to be recognize in my template files.

  • 1 Votes
    12 Posts
    1k Views
    PitaJP

    Your don't need the header in your template. You need to add it like this:

    router.get('/calendar', middleware.buildHeader, renderPageHandler); router.get('/api/calendar', renderPageHandler);

    https://github.com/pitaj/nodebb-plugin-calendar/blob/1.0.x/src/lib/controllers.js#L109-L110

  • 0 Votes
    4 Posts
    389 Views
    Ken JohnK

    @PitaJ Nice!