Oh my zsh.
Install with curl
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
Enabling Plugins (zsh-autosuggestions & zsh-syntax-highlighting)
- Download zsh-autosuggestions by
|# This is the target module which will be overwritten after dynamic compilation|
|# You'll be using this to read configuration in your code. For instance, if you|
|# have a configuration key called `:redis_timeout`, you could read it using|
|defmodule MM.Config do|
|# we use a default implementation which raises an error when our code tries|
|# to read configuration before it is compiled.|
|def get(_key), do: raise("Config has not been compiled yet!")|
|Not drinking too much|
|Regular exercise at the gym, three days a week|
|Getting on better with your associate employee contemporaries|
|Eating well, no more microwave dinners and saturated fats|
|A patient, better driver|
|A safer car, baby smiling in back seat|
This guide was written because I don't particularly enjoy deploying Phoenix (or Elixir for that matter) applications. It's not easy. Primarily, I don't have a lot of money to spend on a nice, fancy VPS so compiling my Phoenix apps on my VPS often isn't an option. For that, we have Distillery releases. However, that requires me to either have a separate server for staging to use as a build server, or to keep a particular version of Erlang installed on my VPS, neither of which sound like great options to me and they all have the possibilities of version mismatches with ERTS. In addition to all this, theres a whole lot of configuration which needs to be done to setup a Phoenix app for deployment, and it's hard to remember.
For that reason, I wanted to use Docker so that all of my deployments would be automated and reproducable. In addition, Docker would allow me to have reproducable builds for my releases. I could build my releases on any machine that I wanted in a contai