herokufastify

Fastify with Heroku


I am having a simple Fastify server hosted with Heroku. But, it seems not working ! But, it seemed all right during the development! The error I get is: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch. Full error I am getting:

enter image description here

Here is the code I am using:
server.js:

const fastify = require("fastify")();
const path = require("path");

fastify.register(require("fastify-static"), {
  root: path.join(__dirname, "/"),
});

fastify.get("/", function (req, reply) {
  reply.sendFile("index.html");
});

fastify.listen(process.env.PORT || 5000, (err) => {
  if (err) throw err;
  console.log(`server listening on ${fastify.server.address().port}`);
});

package.json:

{
"name": "test1",
  "version": "1.0.0",
  "description": "",
  "main": "server.js",
  "engines": {
    "node": "15.11.x"
  },
  "scripts": {
    "start": "node server.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "fastify": "^3.14.0",
    "fastify-static": "^4.0.1"
  }
}

Sometimes, the site even doesn't load!
Any help is greatly appreciated !
Thanks !


Solution

  • That's an issue with the library. For other libraries (express, django, etc..) specifying the address is not necessary.

    See https://github.com/fastify/fastify/issues/709

    Change:

    .listen(process.env.PORT) 
    

    to:

    .listen(process.env.PORT, '0.0.0.0')