ExFactory

Automatic redeployment system for docker-compose.

Hex docs.

Installation

Add ex_factory to your list of dependencies in mix.exs:

def deps do
  [
    {:ex_factory, "~> 0.1"}
  ]
end

Add hook to your CI/CD environment like http://localhost:4056/redeploy?token=EX_FACTORY_ACCESS_TOKEN

ExFactory will use your docker-compose.yml settings to fetch new version of images and redeployment of containers.

Authorization

To enable protected access, set:

config :ex_factory, ExFactory.Web.Authorization,
  enabled: true

To set access token use either env variable EX_FACTORY_ACCESS_TOKEN or configure it manually:

config :ex_factory, ExFactory.Web.Authorization,
  authed_tokens: ["SOME_TOKEN"]

Web access

Default port is 4056, you can change Cowboy options here:

config :ex_factory, ExFactory.Web.Router,
  cowboy_opts: [
    otp_app: :ex_factory,
    port: 4056
  ]