Brian Ly
Brian Ly

Reputation: 183

How to write Procfile for node.js heroku deployment using bin/www?

I am trying to deploy a Heroku app, and I believe the procfile may be the reason my app is not deploying. I've tried multiple solutions including:

web: node ./bin/www web: npm start

There may be another reason my app is not working, but I want to make sure my Procfile is set up correctly

Upvotes: 10

Views: 19508

Answers (2)

frogbandit
frogbandit

Reputation: 571

You should do:

web: ./bin/www npm start

This is what fixed it for me!

Upvotes: 6

David Gatti
David Gatti

Reputation: 3701

This is what I have:

  1. A file in the root directory of the project called Procfile (no file extension)
  2. Inside the file, the first line reads web: bin/web
  3. In the bin directory which is also located in the rood directory of the project, I have a file called web and inside I have node ./bin/www (well I have more, but lets keep it simple).
  4. there is another file in the bin directory called www where I have the code to start the node server.
  5. Both files in the bin directory needs to be executable, and you can set this by doing chmod +x file_name

Explanation for the Procfile

As mentioned above, in the Procfile I have this line: web: bin/web where

  1. web: - is the name of the process, and needs to be web for Heroku to like you :)
  2. bin/web - is the path to your file

I hope this helps :)

Upvotes: 5

Related Questions