Search code examples
herokunodebb

Application Error when viewing NodeBB app on Heroku


The log for my app is producing this set of errors on load and even though NodeBB binds to the port, Heroku errors because it says it cannot bind to the port. Any idea why that is or if this is related to a setting I have somewhere?

Jul 17 05:41:28 fateoftime app/web.1:  info: Initializing NodeBB v0.4.3 
Jul 17 05:41:28 fateoftime app/web.1:  info: * using configuration stored in: /app/config.json 
Jul 17 05:41:28 fateoftime app/web.1:  info: * using redis store at ray.redistogo.com:9748 
Jul 17 05:41:28 fateoftime app/web.1:  info: * using themes stored in: /app/node_modules 
Jul 17 05:41:29 fateoftime app/web.1:  info: Enabling 'trust proxy' 
Jul 17 05:41:29 fateoftime app/web.1:  info: [user.startJobs] Registering User Jobs 
Jul 17 05:41:29 fateoftime app/web.1:  info: [sounds] Sounds OK 
Jul 17 05:41:29 fateoftime app/web.1:  warn: [plugins/nodebb-plugin-mentions] This plugin may not be compatible with your version of NodeBB. This may cause unintended behaviour or crashing. 
Jul 17 05:41:29 fateoftime app/web.1:  warn: [plugins/nodebb-plugin-mentions] In the event of an unresponsive NodeBB caused by this plugin, run ./nodebb reset plugin="nodebb-plugin-mentions". 
Jul 17 05:41:29 fateoftime app/web.1:  info: [meta/css] Minifying LESS/CSS 
Jul 17 05:41:29 fateoftime app/web.1:  info: [themes] Compiling templates 
Jul 17 05:41:29 fateoftime app/web.1:  info: NodeBB attempting to listen on: 127.0.0.1:16312 
Jul 17 05:41:29 fateoftime app/web.1:  info: [themes] Successfully compiled templates. 
Jul 17 05:41:30 fateoftime app/web.1:  info: NodeBB is now listening on: 127.0.0.1:16312 
Jul 17 05:41:30 fateoftime app/web.1:  info: NodeBB v0.4.3 Copyright (C) 2013-2014 NodeBB Inc. 
Jul 17 05:41:30 fateoftime app/web.1:  info: [meta/css] Done. 
Jul 17 05:41:31 fateoftime heroku/web.1:  Starting process with command `node app.js` 
Jul 17 05:41:37 fateoftime app/web.1:  info: NodeBB Ready 
Jul 17 05:41:37 fateoftime app/web.1:  info: [meta/js] Compilation complete 
Jul 17 05:42:27 fateoftime heroku/web.1:  State changed from starting to crashed 
Jul 17 05:42:31 fateoftime heroku/web.1:  Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch 
Jul 17 05:42:31 fateoftime heroku/web.1:  Stopping process with SIGKILL 
Jul 17 05:42:31 fateoftime heroku/web.1:  Process exited with status 137 
Jul 17 08:12:48 fateoftime heroku/router:  at=error code=H10 desc="App crashed" method=GET path="/" host=www.fateoftime.com request_id=43be8d61-3251-4bb9-b5b1-8eb06092f140 fwd="104.36.225.21" dyno= connect= service= status=503 bytes= 

Solution

  • Disclaimer: I'm the node platform owner at Heroku

    The issue you're seeing is that nodebb is crashing soon after it starts (but after it binds). When Heroku checks to make sure your app launched correctly, it sees that the port is no longer bound (because nodebb has crashed). To fix it, you'll have to figure out why nodebb is crashing within the first 60 seconds.

    I just duplicated nodebb's heroku instructions here without any issues, so the first thing you might try is going through them verbatim:

    https://docs.nodebb.org/en/latest/installing/cloud/heroku.html

    Are you on 0.4.3?