Skip to content

General Discussion

A place to talk about whatever you want

3.8k Topics 23.0k Posts
  • Collapsing blockquotes on Harmony

    15
    4 Votes
    15 Posts
    510 Views
    barisB

    The issue with lightbox will be fixed in 3.5.0

    Link Preview Image blockquote collapsing stops working if plugins modify/wrap `post/content` elements · Issue #12062 · NodeBB/NodeBB

    from https://community.nodebb.org/post/96326

    favicon

    GitHub (github.com)

  • 1 Votes
    3 Posts
    117 Views
    Eduardo SilvaE

    Great, tks!

  • open attachments in new tab

    3
    0 Votes
    3 Posts
    126 Views
    julianJ

    @q16marvin it's that way because we respect the browser setting. If you want to open in a new tab usual it's ctrl-click or similar.

  • This topic is deleted!

    1
    0 Votes
    1 Posts
    3 Views
  • Import from Xenforo

    5
    0 Votes
    5 Posts
    379 Views
    mschwartzM

    @gotwf how did it go? I’m considering the same thing.

    Thanks

  • This topic is deleted!

    1
    0 Votes
    1 Posts
    35 Views
  • How can I load NodeBB in an iframe?

    10
    0 Votes
    10 Posts
    4k Views
    GamerGirlandCoG

    if you're trying to embed nodebb on another site (i.e., the nodebb instance domain ISN'T your website's domain), you'll have to contend with CSP headers. just a heads up.

    if you have full control of the server on which your nodebb instance is hosted, you could set up a simple reverse proxy with nginx, point it to whatever port nodebb is listening on, and set the headers to something lax that way. config below.

    server { listen localhost:4000 ssl; server_name localhost; ssl_certificate /etc/nginx/ssl/localhost.crt; ssl_certificate_key /etc/nginx/ssl/localhost.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'AES128+EECDH:AES128+EDH'; ssl_prefer_server_ciphers on; location /forum { 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; client_max_body_size 100M; proxy_pass http://127.0.0.1:4567; proxy_redirect off; proxy_intercept_errors on; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_hide_header content-security-policy; proxy_hide_header x-frame-options; add_header content-security-policy "default-src * 'unsafe-eval' 'unsafe-inline' 'self' 'inline' 'http://*.*'"; } }

    you can append whatever domains you'd like to the 3rd to last line (the one that starts with add_header ...), though you shouldn't need to, since the * should whitelist all origins.

    you might ask, “what legitimate use would there be for this?!?”
    in my particular case, it's nice for local development — where your nodebb instance is already running elsewhere but you want to embed it in the site you're developing on your PC.

  • Improving docker support

    1
    3 Votes
    1 Posts
    126 Views
    oplik0O

    (a development post by a contributor, not a team member 🙂 )

    NodeBB currently works with docker... technically.
    I mean, the default image is fine if you set it up correctly - but that's a pretty big if and there wasn't any good documentation. The existing docker-compose file had some tiny pain points like:

    not exposing any ports by default it recommends setting up a reverse proxy like traefik, which can be a good idea and avoids a small docker security footgun (ports exposed by containers can bypass some firewall configurations, e.g. ufw) but also means that running docker compose up just starts up a container you can't connect to by default! You'll need to modify the config, whether you want to expose a port or set up Traefik... not setting up volumes I hope you like redoing all your configuration when updating the image! also, hope you installed some plugin for storing uploads remotely, since even they'll be gone when you delete and recreate the container you can also, again, edit it to resolve that issue not creating any database in the mongodb container using admin works, but is really not intuitive!

    And when I said the image was fine, I mean that it's acceptable, not that it's great. It always builds NodeBB before startup, installing and activating plugins in a way that will persist properly requires using arcane configuration options that are not mentioned in the docs (and it results in not being able to install or remove any plugins at runtime), and - again - setting up volumes is entirely up to the user.

    However, quite some time ago, @stevefan1999-personal made a pull request that addressed many of these issues, and over time came to address almost everything I mentioned here. And finally we're getting close to landing these changes, and some other small improvements, in NodeBB/NodeBB#12031

    So what will change?

    Running docker compose --profile mongo up is now all you need to start a working instance of NodeBB in a container. Initially it'll launch the web installer, with already populated database configuration, leaving you just to set up the NodeBB URL and admin account. Then just waiting a bit for setup to finish and you're done - NodeBB is running under port 4567. You can now use some reverse proxy on host, modify the compose file to expose it under port 80 or add a containerized reverse proxy and remove the default port binding. If you use the default compose file you'll notice that configuration and - more importantly - uploads are now mounted in .docker directory, so they'll persist when recreating the container There are some additional env variables that can affect the image startup behavior - e.g. you can now choose if NodeBB will run a build before starting.

    There's another nice change that you might've thought of if you saw the initial PR title - docker image size. And it's a fairly large difference. Some numbers:

    current image: 601MiB compressed/1.62GiB uncompressed original alpine PR: 315MiB compressed/986MiB uncompressed new PR (slim debian build): 211MiB compressed/674MiB uncompressed

    For reference, now the official MongoDB image is actually larger than NodeBB, and combined (even with redis added to the mix) they're still e.g. almost 2x smaller than Discourse slim image (747MiB compressed/2.02GiB uncompressed).
    And MongoDB is the largest of the supported databases - Postgres clocks at only 150MiB compressed and offers a 94MiB compressed alpine version, and Redis clocks in at 49MiB compressed for a debian image and just 15MiB for alpine.

    The result is that when running NodeBB with postgres the images will end up taking less than 1GB of disk space, basically half of what they do currently. All while offering much better user experience and configurability.

    And finally, Docker is graduating to being mentioned in official docs with NodeBB/docs#78 🙂

  • 0 Votes
    10 Posts
    821 Views
    W

    @PitaJ said in How do I upgrade NodeBB without destroying Data & images?:

    @dunlix you could lose installed plugins, but that's unlikely. You certainly wouldn't lose activated plugins.

    Did you lose uploads? What plugins did you lose?

    The only things that it can conceive of that are not in the database are uploads, which you can back up before an upgrade according to the documents you referenced.

  • 0 Votes
    4 Posts
    178 Views
    phenomlabP

    @PitaJ I use hetzner myself as do others. Excellent host with reasonable prices and good services.

  • Multiple Badge for users

    Solved
    3
    0 Votes
    3 Posts
    161 Views
    Tarun GujralT

    Thansk it worked.

  • Image uploads plugins in NodeBB v3.4.2

    1
    0 Votes
    1 Posts
    81 Views
    H

    I want to upload images to S3 or CF,but there isn't plugins I found,so I store the picture locally
    How do I set images to be cleared automatically, or how do I set posts to expire and be cleared,please help me..
    The follows are not working .
    5decafad-0415-4078-b5a7-19dfe13d6b93-image.png
    39f03afc-d960-4f44-9e09-aaf5a5551c2a-image.png

  • 0 Votes
    1 Posts
    80 Views
    H

    I use nginx proxy manager to proxy the ip and port of the Docker container, which is started from GitHub's Docker-Compose, but it doesn't seem to work.

    e7504928-fb47-47d0-a9c3-ea03ce9fade8-image.png
    da6af99b-0e0a-4c7c-b632-34018168a69b-image.png
    b6ffee8d-0840-4380-b395-9ed6f0d27c0f-image.png
    c3f487eb-9485-4679-92f1-29a3778cf5c1-image.png

  • Custom Emoji on this forum

    16
    3 Votes
    16 Posts
    1k Views
    julianJ

    @Johan-Joseph 👌 :nod:

    😆

    (an emoji is worth at least 5-10 words, no?)

  • The Search Engine to Chinese language

    4
    0 Votes
    4 Posts
    142 Views
    H

    OK,It working.

  • How do groups work

    3
    0 Votes
    3 Posts
    139 Views
    julianJ

    We're quite literal about it. A group is literally just a collection of users. It doesn't afford them anything special beyond a badge.

    However, because it's quite low level, you can do a lot with groups. The privilege system works with groups, so you are able to restrict access to some/all categories based on user groupings.

  • 0 Votes
    2 Posts
    237 Views
    julianJ

    I think you might need to elaborate on this, it seems too vague for us to give you an answer.

  • Clarification on how vote settings work

    4
    0 Votes
    4 Posts
    132 Views
    barisB

    @SonsOfLiberty correct

  • Threaded views?

    14
    3 Votes
    14 Posts
    374 Views
    phenomlabP

    @julian Exactly. It's just not feasible and would cause significant strain even with lazy loading. It's why I've opted for 2nd best, which is the "cosmetic" route meaning certain posts (for example, your own, and topic-owner) stand out.

  • how to show top carousel of the default theme?

    3
    0 Votes
    3 Posts
    142 Views
    milo malaysiaM

    @baris said in how to show top carousel of the default theme?:

    That is a widget created by the plugin nodebb-plugin-recent-cards you can install & activate then drag the widget.

    thank you very much, I will try it.