When I visit my app URL, it just shows “There’s nothing here, yet”
Tried changing the Procfile to use full path like node node_modules/n8n/bin/n8n start
Still not working after restarting dynos multiple times
What works:
n8n runs fine on my local computer
The issue only happens on Heroku
What I need help with:
Can someone please give me beginner-friendly instructions to fix this? I’ve been stuck for days and don’t understand the technical details. Just want to get my automation workflows running on Heroku.
I can provide logs or config files if needed. Thanks for any help!
You’re missing key environment variables for n8n on Heroku. The main problem is usually database config - n8n needs persistent storage and Heroku’s filesystem won’t cut it. Go to your Heroku dashboard and add these config vars: DB_TYPE=postgresdb, then grab a Postgres addon. Set N8N_BASIC_AUTH_ACTIVE=true with N8N_BASIC_AUTH_USER and N8N_BASIC_AUTH_PASSWORD for security. Your Procfile’s too complicated - just use ‘web: n8n start’ and ditch the webhook URL parameter. Set N8N_HOST=0.0.0.0 and N8N_PORT=$PORT as environment variables instead. The webhook URL configures itself when you add N8N_WEBHOOK_URL=https://workflow-app02.herokuapp.com to config vars. Don’t forget to specify your node version in package.json’s engines field. This fixed the same issues I had.
definitely check your heroku logs with heroku logs --tail to see what’s going wrong. if n8n isn’t installing, try clearing the build cache using heroku plugins:install heroku-builds and then heroku builds:cache:purge. also, ensure your package.json specifies the right node version in the engines field since heroku can be picky about it.
Had the exact same issue when I deployed n8n on Heroku last year. n8n isn’t installing properly during your build process. Your Procfile looks fine, but check your package.json setup. Make sure n8n is in dependencies, not devDependencies. Also, set NODE_ENV to ‘production’ in your Heroku app settings - without this, Heroku won’t install n8n during the build. Another thing that got me - verify you have a start script in package.json that matches your Procfile command. Heroku sometimes gets confused about which command to run. For the webhook URL in your Procfile, try ‘https://workflow-app02.herokuapp.com/webhook’ instead of just the base URL. This fixed my routing issues. If you’re still getting ‘not found’ errors, run ‘heroku run bash’ and manually check if n8n actually exists in node_modules.