Adding docker means adding a whole new layer to ALL of my projects, which I'd prefer to avoid specially when there's no need as Heroku has very clearly shown.
Adding docker means adding a whole new layer to ALL of my projects, which I'd prefer to avoid specially when there's no need as Heroku has very clearly shown.
How do your dependencies get installed? What happens if you depend on something in your package.json that isn't on the public npm repo? What happens if you need to compile some native code as part of one of your dependencies?
Do you need to depend on anything provided by the OS? Timezone data? Maybe you use sqlite as a storage backend and want to ship your database file as well. How do you include configuration data?
Docker drastically simplifies packaging and deployment, and gives you a ton of flexibility in where and how you run your code.
Oracle a problem? No, because my Jails can wander to Vultr, Hetzner (yes they sill support FreeBSD) and Amazon andandand, the only change is a DNS one.
Regardless, as someone who uses a variety of languages and is in the exact same situation, my generic Makefile is probably easier to read and understand than any standard that you have probably achieved.
> my generic Makefile is probably easier to read and understand than any standard that you have probably achieved
That sounds fairly rude for HN
If you have the need to state this when it's not relevant, then I highly doubt you have readable Makefiles ;)
Or do you mean it's the same in Fly.io? If it auto-detects Node.js (through package.json), or at most allows for a dropdown to say "Node.js project", then that sounds about right for me.
Indeed the docs[1] say Fly automatically detects a Node.js project, so you don't need to create a Dockerfile.
[1]: https://fly.io/docs/languages-and-frameworks/node/#launch-th...
Well it still creates a fly.toml for you, which is still a new config file that I have to maintain across projects.
I mean it even creates the basic file for you, I'm not sure what the issue is?