Skip to content
This repository has been archived by the owner on Dec 15, 2022. It is now read-only.
/ mate Public archive

Customisable Deployments for Elixir / Phoenix

License

Notifications You must be signed in to change notification settings

maxvw/mate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mate

Customisable Deployment for Elixir / Phoenix

Hex pm License GitHub Actions

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.8", only: :dev}
  ]
end

Then 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. But I am open to other suggestions while the project is still in it's early beginnings.