Have you checked the logs in the console or terminal by using heroku logs --tail?
I had the same problem when I deployed Strapi. I found that I couldn’t connect to the database because of unsecure connection (ssl).
I had to add this in database.js to make it to work.
: > strapi start
2022-02-22T23:51:30.937969+00:00 app[web.1]:
2022-02-22T23:51:32.299258+00:00 app[web.1]: [Object: null prototype] {
2022-02-22T23:51:32.299284+00:00 app[web.1]: user: 'uoulcpfnfnnpdptoatpd',
2022-02-22T23:51:32.299285+00:00 app[web.1]: password: '01d98982104e5c48a93e52e9c185b3b8cb216eadbf5e3fb15f38533f62a6186b9c4a2',
2022-02-22T23:51:32.299285+00:00 app[web.1]: port: '5432',
2022-02-22T23:51:32.299286+00:00 app[web.1]: host: 'ec3-32-1357-15-2328.compute-1.amazonaws.com',
2022-02-22T23:51:32.299286+00:00 app[web.1]: database: 'd993s4lb5d2s8v92m'
2022-02-22T23:51:32.299287+00:00 app[web.1]: }
2022-02-22T23:51:33.346083+00:00 heroku[web.1]: Process exited with status 1
2022-02-22T23:51:33.451697+00:00 heroku[web.1]: State changed from starting to crashed
2022-02-22T23:51:33.088204+00:00 app[web.1]: TypeError [ERR_INVALID_ARG_TYPE]: The "string" argument must be of type string or an instance of Buffer or ArrayBuffer. Received an instance of Object
2022-02-22T23:51:33.088217+00:00 app[web.1]: at new NodeError (node:internal/errors:371:5)
2022-02-22T23:51:33.088218+00:00 app[web.1]: at Function.byteLength (node:buffer:734:11)
2022-02-22T23:51:33.088218+00:00 app[web.1]: at Writer.addCString (/app/node_modules/pg-protocol/dist/buffer-writer.js:42:30)
2022-02-22T23:51:33.088219+00:00 app[web.1]: at Object.startup (/app/node_modules/pg-protocol/dist/serializer.js:10:32)
2022-02-22T23:51:33.088219+00:00 app[web.1]: at Connection.startup (/app/node_modules/pg/lib/connection.js:123:33)
2022-02-22T23:51:33.088219+00:00 app[web.1]: at Connection.<anonymous> (/app/node_modules/pg/lib/client.js:126:11)
2022-02-22T23:51:33.088220+00:00 app[web.1]: at Connection.emit (node:events:520:28)
2022-02-22T23:51:33.088220+00:00 app[web.1]: at Connection.emit (node:domain:475:12)
2022-02-22T23:51:33.088221+00:00 app[web.1]: at Socket.<anonymous> (/app/node_modules/pg/lib/connection.js:101:12)
2022-02-22T23:51:33.088221+00:00 app[web.1]: at Object.onceWrapper (node:events:640:26)
2022-02-22T23:51:33.088221+00:00 app[web.1]: at Socket.emit (node:events:520:28)
2022-02-22T23:51:33.088222+00:00 app[web.1]: at Socket.emit (node:domain:475:12)
2022-02-22T23:51:33.088222+00:00 app[web.1]: at addChunk (node:internal/streams/readable:315:12)
2022-02-22T23:51:33.088222+00:00 app[web.1]: at readableAddChunk (node:internal/streams/readable:289:9)
2022-02-22T23:51:33.088223+00:00 app[web.1]: at Socket.Readable.push (node:internal/streams/readable:228:10)
2022-02-22T23:51:33.088223+00:00 app[web.1]: at TCP.onStreamRead (node:internal/stream_base_commons:190:23)
I have some problem to deploy in heroku too, in my case is the connection to the database postgress.
For some reason the /config/env/production/database.js is not override the default DB configuration on /config/database.js.
I have the same R10 issue. Development environment is working fine, on heroku i had success in general but everytime i fear.
Sometimes when opening the app i get an Error R10 (Boot timeout) → Web process failed to bind to $PORT within 60 seconds of launch. Heroku says Deploy and Build are successfull.
Heroku says Heroku dynos expose a dynamic port for your app to bind to. This value is exposed in the $PORT env var. You must change your code to bind to this port instead.
Does anyone know how can i do that in strapi v4 (4.1.8)? config/server.js looks corrent.