It might be easier to integrate Raneto with nodeBB

Moritz Friedrich
@Moritz Friedrich
Best posts made by Moritz Friedrich
-
RE: Wiki style page editing?
-
RE: 400 and 522 errors since enabling SSL via Nginx proxy
Alternatively, my working configuration for clustering enabled + SSL:
# redirects http requests to https server { listen 80; # change this! server_name example.com; # change this! return 301 https://example.com$request_uri; } # create multiple instances for scaling upstream io_nodes { ip_hash; server 127.0.0.1:4567; server 127.0.0.1:4568; server 127.0.0.1:4569; } # the actual encrypted server server { listen 443 ssl spdy; # change this! server_name example.com; ssl on; # change this! ssl_certificate /etc/nginx/ssl/bundle.crt; #change this! ssl_certificate_key /etc/nginx/ssl/site.de.key; # enables all versions of TLS, but not SSLv2 or 3 which are weak and now deprecated. ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # disables all weak ciphers ssl_ciphers 'AES128+EECDH:AES128+EDH'; ssl_prefer_server_ciphers on; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_redirect off; # Socket.io Support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; # watch out - no quotes! proxy_set_header Connection upgrade; gzip on; gzip_min_length 1000; gzip_proxied off; gzip_types text/plain application/xml application/x-javascript text/css application/json; location @nodebb { proxy_pass http://io_nodes; } location ~ ^/(images|language|sounds|templates|uploads|vendor|src\/modules|nodebb\.min\.js|stylesheet\.css|admin\.css) { # change this! root /var/www/nodebb/public/; try_files $uri $uri/ @nodebb; } location / { proxy_pass http://io_nodes; } }
-
RE: Forum performance
Depends. I run a community of about 600 users, on certain occasions (2 times a month) we have about 250 concurrent users online. After preparing NodeBB in the background on a second level tier DigitalOcean VPS (1CPU, 512GB RAM) which ran excellent after initial development, we decided to go online at one of those high peak events.
It was a disaster, honestlyI had no experience with NodeJS before, so I didn't know what performance issues to expect. The site slowed down really fast when the first 60 visitors were online, at the time there were 100 of them, it got unuseable, so we made an emergency conference call and decided to go down, upgrade the VPS and power on again. That took 5 minutes, the rest of the event went smoothly afterwards (The community was not upset at all but rather proud of bringing a whole server to it's knees ;)).
So for reference:
We went for the 2CPU/1GB RAM option for 25$/month. That one managed 40.000 pageviews in an hour from 298 concurrent visitors (guests and members), no noticeable delay, with 79% CPU and about 80% RAM usage. I currently have three NodeBB workers enabled with Redis as a DB and nginx as reverse proxy, all over SSL (coming to think of it, that should have a performance impact aswell). SSH monitoring with top was running, too.This might give you an impression
-
RE: [nodebb-plugin-ns-points] NS Points, Forum Gamification
@Nicolas This is really promising! I've got a few questions, though:
- Can I set the level thresholds manually?
- Can I setup custom notifications for specific levels? (Read: achievements)
- Is there some kind of API to award points on custom events? (So I can give extra points to SSO users on first login, etc)
-
RE: 400 and 522 errors since enabling SSL via Nginx proxy
I had a hard time too while configuring. Try this one:
### redirects http requests to https server { listen 80; server_name forum.example.org; return 301 https://forum.example.org$request_uri; } ### the https server server { # listen on ssl, deliver with speedy if possible listen 443 ssl spdy; server_name forum.example.org; ssl on; # change this path! ssl_certificate /path/to/cert/bundle.crt; # change this path! ssl_certificate_key /path/to/cert/forum.example.org.key; # enables all versions of TLS, but not SSLv2 or 3 which are weak and now deprecated. ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # disables all weak ciphers ssl_ciphers 'AES128+EECDH:AES128+EDH'; ssl_prefer_server_ciphers on; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://127.0.0.1:4567/; proxy_redirect off; # Socket.IO Support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
-
RE: Schedule Post?
Did you manage to build a plugin? I'd be interested in this. Thanks!
-
Show accumulated child category topics and posts on categories page
We have only four categories which hold all other subcategories and have no own topics or posts. Due to this, guests coming to the homepage, they get the impression we have no content yet. Is there a way to show accumulated counters on each category?
Like this:- Cat A (88 topics, 2.316 posts)
- Cat A.1 (51 topics, 754 posts)
- Cat A.2 (29 topics, 1.242 posts)
- Cat A.3 (8 topics, 320 posts)
- Cat A (88 topics, 2.316 posts)
-
RE: Sharing Windows Server with Nodebb and Wordpress
Okay. First off: Change the secret in your config.json immediately, you should never post it anywhere online.
You should change the url here to "http://theamericanbulletin.com/forum". That way, NodeBB can deliver static resources with the correct path (remember, the client will request each resource based on this address which gets then parsed in the IIS).What are the rewrite rules shown in the ISS console?
-
RE: Forum performance
It is not necessarily a redis issue but more due to the way Node.js works - after all, my guess is, for large forums, you may be better off using a PHP solution, unless you want to invest in a setup like, one load balancer, two to four db servers, four to eight app servers serving nodebb, one mailserver, one for firewall and security, a development box, ... you see where this is going
-
RE: Wiki style page editing?
@frissdiegurke I stumbled across it while searching one for a project at work, liked it very much and contributed some needed patches..
I rather meant using NodeBBs login system there, that should not be that much of a hassle.
Latest posts made by Moritz Friedrich
-
RE: Memory efficient archiving
I highly appreciate the valuable input about hosting from all of you, but I feel this discussion drifting away from the original question quicky
Is archiving content so far out of scope or dispensable for the project? -
RE: Memory efficient archiving
@AOKP You might be right about that - we went from a managed hosting provider to DO when the market was small, I've never bothered to compare again since then. My location is no secret, I'm from Germany, the board's here. I'd be thankful if you could share some good providers having data centers in or near germany!
I'll set up a testing environment with NodeBB and SSDB, thanks for that one!Redis allocates around 2.6GB real memory currently, hinting to NodeBB consuming most memory for posts (or I'm doing something horribly wrong). @PitaJ on a general note, does the way NodeBB handles keys in the db have potential for optimization? Because most applications do
-
RE: Memory efficient archiving
@PitaJ :
I'd like to stay with Redis - it's a battle-tested, hugely scalable and ridiculously performant key-value storage. No matter what happens in the future, Redis will grow with it.
The responsiveness is perfectly fine, we've got four cores dedicated to nginx and NodeBB, that works well. But I think it would be a nice addition to NodeBB to be able to not hold less frequently accessed content in memory but load it on demand. I'd imagine that'll be also interesting for huge-scale instances.@AOKP :
I'm currently using DigitalOcean, yes, because I like VPS servers. I'm a fulltime sysadmin, many of my work clients have their own datacenter servers, so I'm aware there are cheaper possibilites. Though I think the huge advantage of a virtual box is the speed to scale it, and the direct control over its power supply and console.I've just looked at SSDB, but I wonder what the main advantage is? The stats seem to indicate it is a little bit slower than Redis, but funnily enough the page doesn't list any selling points... Less memory consumption?
I could clean the database up, but to be honest, while I'm the admin and responsible for the server, I'm not really involved with the content or its users.For the stats, here you go:
Keys in Redis: 2,402,609
Posts: 193,060
Users: 2,257
Topics: 7,740
Page views per week: 549,187
Uploaded files: ~4GB -
Memory efficient archiving
Hey there!
Several years ago, we started our board on MyBB. We migrated to NodeBB v0.3 as it started to get crowded, and have been happy ever since. The db server it's Redis instance is running on has 4GB of RAM currently, off which around 70% are in constant use.
As the consumption continues to grow, I know we'll have to upgrade the server rather sooner than later, and that made me wonder how to solve this without keeping to throw memory upgrades on it.My idea would be to swap older content (configurable threshold) from Redis into a MongoDB instance, for example - it shouldn't be a problem to create different adapters, let's say MySQL or even JSON for a pure disk solution.
If there was an algorithm checking the popularity of content, it would also be possible to not just stupidly moving old content but less frequently accessed content to the archive.
To be clear: I'm not talking about caching here, since that would imply keeping the content in the Redis store.Since this would require setting up multiple database systems, it shouldn't be mandatory (there surely are many users who can just use machines powerful enough and keep sizing them, but that doesn't apply for everyone).
Would this be feasible? Is it on some roadmap already, maybe? What's your opinion on this?
-
RE: Native electron client
@teh_g sadly, this won't be possible with Electron, since it requires V8, Chromium and Node.JS to run, all of which are not available on neither iOS nor Android.
You could maybe use Cordova for this, but it would require a C# developer, store licenses etc... not forget a great amount of time and effort.Electron, on the other hand, makes developing Desktop applications with JS easy and really quick... So it would be quite easy to craft a NodeBB client. I imagine board admins could run an installer like
npm install nodebb-electron-client-setup
, then donpm setup
and have the client available for download athttp://example.tld/client/:os
for their users. -
Native electron client
I'm currently using Electron to build a desktop client for an Express app which just transforms API JSON responses into views.
Now I was thinking it would be great to have a boilerplate, customizable NodeBB client built with Electron. It could be customized to fit the board style, use real OS notifications, open chats in real modal windows, integrate better file browsing and upload and so on. I bet gaming board developers would also be pleased to have native Steam integration etc.
Would anyone be interested in building such a client together?
-
RE: Strange JS problem (non-NodeBB)
@Moritz-Friedrich solved it somehow ugly by starting the tests in a "ready" callback. Is there some way to find out whether downloaded code has been fully executed?
-
Strange JS problem (non-NodeBB)
I'm testing my client side code using mocha and I'm having a problem I can't really wrap my head around...
The script downloads its dependencies from the server itself. As long as I clear my cache and reload the page, my tests work fine. When I reload the page normally, though, they fail. If anyone is interested, the code is currently online here. -
RE: Anyone interested in developing an auction site blatantly stealing from NodeBB?
I like NodeBB's source, though it would be nice to have real documentation for it
Maybe even something like consistent JSDoc comments?
Thank you for the kind words, by the way. I'll keep updating this post from time to time -
RE: Wiki style page editing?
@frissdiegurke I stumbled across it while searching one for a project at work, liked it very much and contributed some needed patches..
I rather meant using NodeBBs login system there, that should not be that much of a hassle.