Automatically Restart Elixir Applications after Server Reboot with Edeliver, Ubuntu, and Systemd

Edeliver is an awesome deployment tool for Elixir applications, including Phoenix apps, but one thing it lacks (intentionally) is support for auto-restarting your Elixir app after server reboots. Out of the box, if you want to restart your app after a server reboot, you can just run $ mix edeliver restart production in a terminal …

Setting up Phoenix Channels to use MessagePack for Serialization

In this article, I’ll show you how to setup your Phoenix 1.3 app to use the binary serialization format MessagePack for sending and receiving web socket channel messages. What is MessagePack? MessagePack is a binary serialization format. You know how JSON uses strings to represent different kinds of data and objects? Well MessagePack does the …

Deploying a Phoenix App to Ubuntu 16.04 with Edeliver, Distillery, and Nginx

When I first started doing live testing of Breakfast of Champions, I was using Heroku because it’s cheap, easy, and it’s what I was used to. Unfortunately, Heroku allots you very little CPU power regardless of your dyno size. Not to mention they restart every app once a day, hot swapping is not possible, nor …