Skip to content

NodeBB Development

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

3.5k Topics 22.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 😉

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

    808 Topics
    5k Posts
    o              oO

    It's an optimization, an opportunity to handle more traffic on less hardware.

  • 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

    49 Topics
    581 Posts
    julianJ

    Cheers @[email protected] thanks for making it official.

    @[email protected] hopefully you can subscribe to the recurring event now 🙂

  • Help Translate NodeBB
  • Is there api to new topic using nodejs code?

    2
    0 Votes
    2 Posts
    1k Views
    C

    I'm not sure if I understand your question exactly, but you can write a plugin to listen to a new route (URL endpoint) or interprocess communication and load and call NodeBB libraries.
    You may consider using this plugin Git repo as a bootstrap to get you started quickly. Remember that the plugin.json, package.json, and library.js are the first files to work with. The plugin repo name / directory name will need to match the glob nodebb-plugin-* and it needs to be directly under the node_modules/ directory which is at the root of your NodeBB directory.

  • Best way to keep changes...

    8
    0 Votes
    8 Posts
    3k Views
    B

    @julian WTF!!! even better!! ahaha!! this gets better everytime!.... my only gripe is that persona stinks on Windows Phones...--> new thread coming on.

  • 0 Votes
    1 Posts
    767 Views
    ?

    ...so if you exit to the site on one tab, then on the other you are still logged in.

    It looks quite strange -

    upload-a8119d3d-69cf-4a29-b0fe-4ee61cdc4d94

    upload-8011cbf8-8b00-450b-8652-15d21dbf4645
    upload-3f70bb1e-6287-4490-b65e-9b1c16b93894
    upload-6b9f04df-f922-42b2-a39d-1b8042ac418f

    As you can see, we can be a partial activity in exit. The session was completed.

    @julian @baris @psychobunny

  • Texas Hold'em Poker!

    8
    3 Votes
    8 Posts
    6k Views
    O

    HI,

    Signup link is not working....

  • want a div position: fixed; place it on the forum

    Solved
    2
    0 Votes
    2 Posts
    985 Views
    ogerlyO

    ok I have a solution.

    I have included in the CUSTOM HEADER my code. and the audio file is running even if I switch sides.

  • Registering a Font

    7
    1 Votes
    7 Posts
    3k Views
    snodejokeS

    @a_5mith Did you ever find the solution to this?

    Was the result the nodebb-plugin-custom-font plugin?

  • Is there a way to limit the use of tags?

    Unsolved
    2
    0 Votes
    2 Posts
    2k Views
    P

    @ludam you can set the minimum & maximum tags for a post in ACP -> Settings -> Tags page. I don't think there is any option to set which tags a user would be able to use.

  • How can I get category's special users

    3
    0 Votes
    3 Posts
    2k Views
    barisB

    Those userrs are stored in groups with special names, here are the names assuming the category id is 1.

    cid:1:privileges:find
    cid:1:privileges:read
    cid:1:privileges:topics:create
    cid:1:privileges:topics:reply

    You can get the user ids from these groups by.

    Groups.getMembers('cid:1:privileges:find', 0, -1, callback); This will give you all the user ids that have the find permission for category 1.

    If you want to get their basic info like username picture slug so you can show user icons you can just use Groups.getMemberUsers('cid:1:privileges:find', 0, -1, calllback);

  • What is for ''/compose" route?

    Solved
    3
    0 Votes
    3 Posts
    2k Views
    epidemiya30E

    Understood. Thank you for response 🙂

  • Tags - Are they timestamped?

    1
    0 Votes
    1 Posts
    1k Views
    S

    Guys,

    Have a quick question. Do tags have a timestamp on them in the backend?

    One of my new feature requirements is spotting trending tags and some sort of re-organisation of the tagging system to perhaps give people an alternative way to navigate the forum.

    Just curious...

  • 0 Votes
    3 Posts
    1k Views
    xinshoukeX

    Yes, It work as what you told. Thanks a lot!

  • Why would I follow another user?

    10
    1 Votes
    10 Posts
    4k Views
    BriB

    @julian So, now there's a setting that prevents chats from getting to you unless you follow that user trying to chat with you? 8⃣ 6⃣ 7⃣ 5⃣ 3⃣ 0⃣ 9⃣

  • How to config welcome email template?

    1
    0 Votes
    1 Posts
    1k Views
    maniM

    Now I have to change theme's tempalte, can I just config it in plugin?

    Thanks!

  • 0.8.0 Breaking Changes

    1
    1 Votes
    1 Posts
    2k Views
    barisB
    Hook changes Filter filter:user.custom_fields removed see this commit filter:user.delete deprecated, use static:user.delete instead, now It is passed { uid: uid } instead of just uid, and is fired before user data is actually deleted, so you have one last chance to look up stuff if needed. Other changes Theme developers should now explicitly set the baseTheme in their theme.json if their theme is not based on Persona. Set this value to nodebb-theme-vanilla TBD 💔
  • 3 Votes
    3 Posts
    3k Views
    julianJ

    @Codejet said:

    can you still manually change to lavender in ACP after install / upgrade ? and run it this way

    what is the benefit of adding a hook listener, or are u removing vanilla/lavender functionality

    Yes, this change doesn't affect how you use NodeBB, it only affects you if you're a theme developer (with a Lavender-variant or vanilla-based theme) and you want to maintain compatibility post v0.8.x

  • How can I pass additional user data to header?

    Unsolved
    3
    0 Votes
    3 Posts
    2k Views
    epidemiya30E

    Can I do a pull request? Or someone else will do that?

  • How do you hide groups from being visible?

    Solved
    8
    0 Votes
    8 Posts
    3k Views
    L

    Cool, thanks. 🙂

  • Alter Link Text on Uploaded Files

    1
    0 Votes
    1 Posts
    950 Views
    C

    What would I hook into to alter the [text] on uploaded files

  • 0 Votes
    2 Posts
    1k Views
    barisB

    It is in the root folder of your installation in a file called config.json.

  • 2 Votes
    34 Posts
    19k Views
    R

    @BDHarrington7
    Use pgrep/pkill! 😉

    kill -s USR1 $(fgrep -f "app.js")

    or even shorter with pkill

    pkill -USR1 -f "app.js"

    Substitute -USR1 with -SIGHUP and you got yourself a quick and easy build-tool command to restart NodeBB, when changing files. 🙂
    (I'm using SublimeText / Atom)