JoeZMar

JoeZMar

What is the recommended way to deploy right now? And what is everyone’s thoughts about Docker?

I have been a long-time user of Gigalixir, but want to move to a DigitalOcean instance. I’ve always had my eye on running on a Ubuntu droplet and having more use of OTP having it run directly on the server.

I’ve always been slightly interested in Docker, but I heard that you lose the ability to run mix commands and a few other things. I just got back from EMPEX LA and someone was telling me how this isn’t true and that running within a Docker instance you have more efficient memory usage.

I also hear about eDeliver a lot less. Is mixing Distillery and eDeliver not a thing anymore? I’ve also heard of building the image with Docker and then running it on a DO instance.

Deployment has always been shaky for me and when I started using Gigalixir it was too easy to just stick with it, but I want to learn more about deploying without services like Heroku and Gigalixir.

What is the recommended way to deploy right now? And what is everyone’s thoughts about Docker?

Most Liked

danschultzer

danschultzer

Pow Core Team

I don’t think there’s any recommended way, but I wish there was some plug n play solution for people who just starts out with elixir.

We’ve been using ansible to manage builds with distillery and a docker container. It has been a very solid solution so far.

Github: GitHub - danschultzer/ansible-phoenix-build: Sample app with full build and deploy setup of a Phoenix app using ansible · GitHub
Blog post: https://dreamconception.com/tech/phoenix-automated-build-and-deploy-made-simple/

The inspiration came from this blog post by Piotr Włodarek.

Edit: We’re using DigitalOcean, and don’t run the apps inside docker containers.

danschultzer

danschultzer

Pow Core Team

There’s been quite a bit of interest for the guide and repo so I’ve updated them with Elixir 1.8, Phoenix 1.4, Ecto 3.0, ansible 2.6 and distillery 2.0.

gregvaughn

gregvaughn

My company uses distillery and edeliver on AWS and hot deployments. Works fine.

I find Docker to bring philosophical friction to the BEAM culture. Docker comes from the culture of “servers as livestock, not pets” but BEAM comes from a culture of stateful long-running servers. I hear that people can have success treating BEAM like livestock in a container, but I don’t find that it solves any problems the BEAM faces. It’s a solution to different organizational-level concerns.

Where Next?

Popular in Questions Top

johnnyicon
Hi all, I’ve just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I’m trying to use Postgres...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod – where is this set? Thanks.
New
lucidguppy
I have a super simple question about elixir - how would I take a file like this foo bar baz and output a new file that enumerates th...
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New
Lily
In templates/appointment/index.html.eex: <%= for appointment <- @appointments do %> <tr> <td><%= appoi...
New
komlanvi
Hi everyone, I was playing with phoenix liveView but I run into an issue. I have a form and want to validate each input text when the te...
New
Kurisu
For example for a current url like http://localhost:4000/cosmetic/products?_utf8=✓&query=perfume&page=2, I would like to get: ...
New
ycv005
I have followed this StackOverflow post to install the specific version of Erlang. And When I am running mix ecto.setup then getting fol...
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New

Other popular topics Top

nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
hariharasudhan94
Lets say I have map like this fetching from my database %{"_id" => #BSON.ObjectId<58eb1a7a9ad169198c3dXXXX>, "email" => ...
New
jononomo
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
klo
Got a question about when to concat vs. prepending items to list then reversing to achieve appending. So i know lists boil down to [1 | ...
New

Latest on Elixir Forum

We're in Beta

About us Mission Statement