It all makes sense to me except for the N8N_HOST and N8N_PROTOCOL.
Is N8N_HOST used for the listen of the socket? Why wouldn’t that be 127.0.0.1 or 0.0.0.0? All the external routes should be covered by WEBHOOK_TUNNEL_URL and VUE_APP_URL_BASE_API. Why is there a N8N_PROTOCOL?
Hm. I still find the docs or even the impl confusing.
The N8N_HOST still seems to matter with the base URLs set for the bind address. And frankly speaking I’d make it explicit and always required the base URLs.
The very least I’d change the docs to N8N_HOST=0.0.0.0 to hint at it.
Exactly right now there is no bind address at all.
No listen is directly plain old express:
Thanks a lot for your proposal! Yes, agree that it should be improved in the future which will happen. That will, however, happen later with a larger update to improve with also other things and make everything future-proof.