Navigation

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Tags
    • Users
    • Groups
    1. Home
    2. Moritz Friedrich
    • Profile
    • Following 1
    • Followers 0
    • Topics 14
    • Posts 60
    • Best 15
    • Groups 1

    Moritz Friedrich

    @Moritz Friedrich

    20
    Reputation
    1016
    Profile views
    60
    Posts
    0
    Followers
    1
    Following
    Joined Last Online

    Moritz Friedrich Follow
    GNU/Linux

    Best posts made by Moritz Friedrich

    • RE: Wiki style page editing?

      It might be easier to integrate Raneto with nodeBB 🙂

      posted in NodeBB Development
      Moritz Friedrich
      Moritz Friedrich
    • 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;
          }
      
      }
      
      posted in Technical Support
      Moritz Friedrich
      Moritz Friedrich
    • 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, honestly 😄 I 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 😊

      posted in General Discussion
      Moritz Friedrich
      Moritz Friedrich
    • 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)
      posted in NodeBB Plugins
      Moritz Friedrich
      Moritz Friedrich
    • 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";
          }
      }
      posted in Technical Support
      Moritz Friedrich
      Moritz Friedrich
    • RE: Schedule Post?

      Did you manage to build a plugin? I'd be interested in this. Thanks!

      posted in General Discussion
      Moritz Friedrich
      Moritz Friedrich
    • 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)
      posted in NodeBB Development
      Moritz Friedrich
      Moritz Friedrich
    • 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?

      posted in Technical Support
      Moritz Friedrich
      Moritz Friedrich
    • 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 😄

      posted in General Discussion
      Moritz Friedrich
      Moritz Friedrich
    • 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.

      posted in NodeBB Development
      Moritz Friedrich
      Moritz Friedrich

    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?

      posted in Feature Requests
      Moritz Friedrich
      Moritz Friedrich
    • 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 😄

      posted in Feature Requests
      Moritz Friedrich
      Moritz Friedrich
    • 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

      posted in Feature Requests
      Moritz Friedrich
      Moritz Friedrich
    • 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?

      posted in Feature Requests
      Moritz Friedrich
      Moritz Friedrich
    • 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 do npm setup and have the client available for download at http://example.tld/client/:os for their users.

      posted in NodeBB Development
      Moritz Friedrich
      Moritz Friedrich
    • 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?

      posted in NodeBB Development
      Moritz Friedrich
      Moritz Friedrich
    • 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?

      posted in General Discussion
      Moritz Friedrich
      Moritz Friedrich
    • 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.

      posted in General Discussion
      Moritz Friedrich
      Moritz Friedrich
    • RE: Anyone interested in developing an auction site blatantly stealing from NodeBB?

      @julian

      😝

      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 😊

      posted in General Discussion
      Moritz Friedrich
      Moritz Friedrich
    • 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.

      posted in NodeBB Development
      Moritz Friedrich
      Moritz Friedrich