Live data from Hacker News

Deploying Elixir

luk3thomas.com

11–14 of 14 posts

Re: Deploying Elixir

#11
post #6

I'm curious as to why docker is chosen for build artifacts but not for running the app itself. Any info available here?

Generally speaking there is no way I'm installing a compiler on production servers, so having a builder is needed. And rather than having a bunch of different machines for each stack, much cheaper and easier to have docker images. Then you can deploy easily to any kind of production server: physical, VM, docker, cloud, etc.

So basically you're using an overcomplicated chroot as nothing more than chroot.

Re: Deploying Elixir

#12
I also try to use the {:system, "MY_VAR"} convention to get around the weird "lets-compile-in-config-values" problem, but unfortunately, it is not supported by many libraries. Even some of the essential libraries, like Ecto, support it for some config variables (db_url), but not for others, which seems crazy to me.

For some dependencies (like exq), I've needed to take them out of the "start" list, and start them manually, hand feeding them the configuration values.

This issue has been the biggest annoyance by far in what is otherwise a really nice platform/ecosystem.

Re: Deploying Elixir

#13
Nearly every article like this seems to have long verbose steps. For me in 99% of cases my development machine and target machine have mostly the same configuration, and so it feels like I have it down to a 3-4 step process which can be scripted.
Post reply on HN