Mate
Customisable Deployment for Elixir / Phoenix
Elixir is fun to work with, releasing should be fun too. This project aims to help with that.
You can choose to build your release remotely via SSH, locally via Docker or just locally in general. Of course when building locally remember that the system architecture should match with your deploy servers. After building your application, you can also deploy it to one or multiple servers over an SSH connection.
What about edeliver?
It's the inspiration behind this, but I wanted something that is compatible with mix release, something more customisable and a codebase that is better readable. This project aims to be that, but as it is still early if you are looking for something more stable, edeliver might still be the better choice – for now.
Documentation
The documentation for mate can be found on hexdocs.pm/mate.
Installation
mate is available via https://hex.pm/packages/mate. Just add mate to your dependencies in the mix.exs file, you only need it for :dev as you run it locally from your machine.
def deps do
[
{:mate, "~> 0.1.5", only: :dev}
]
endThen you can get the latest dependencies and use mix mate.init to get started!
$ mix deps.get$ mix mate.init
Why is it called Mate?
Naming is hard and I wanted something short. Most deployment software seems to stick to a nautical theme with their naming, so I ended up with mate.