Elixir Deployment Options

I prefer to use full-access VPS’s as opposed to things like Gigalixir/Nanobox/Heroku or any of those services. The reason is that even though there’s a lot more setup involved initially, once you have your app setup for deployment it’s usually pretty easy and quick from there on out.

Doing it in this way allows you to easily move from one provider to another if needed. Otherwise, you would have to extract certain deployment fragments from your Gigalixir/Heroku/other service configuration and then set the rest up manually anyway.

Also, I want the fine grained control over each component of my app, while still being able to run multiple apps on the same server, which most of those services don’t give you.

I personally use DigitalOcean as my provider and I use a $20/mo VPS. DO recently changed their pricing to match Linode/Vultr and the other guys so DO’s pricing is actually the same now where it lagged behind before.

I deploy my apps inside Docker only, so that everything is modular and I can add/remove/swap out different components of different apps at will, which is important to me since I have many apps to run on the same server.

If you want to see the comprehensive guide on how I setup my deployments, you can check it out on my forum thread.

P.S. Nothing against Gigalixir at all, they have a wonderful service and it makes everything way easier if you know you don’t need portability later, but this doesn’t really fit my use case, and I like using raw servers personally. Also, jesse is an awesome guy and I see him all over the place in relation to Elixir things so with Gigalixir you are in really good hands.

7 Likes