Deploy de uma aplicação Elixir no Heroku

UPDATE: Não é mais preciso fazer os passos abaixo, dê uma olhada nessa página da documentação do Maru :)

Por recomendação do Guilherme Carreiro comecei a estudar Elixir e esses dias decidi fazer um "toy project" para fazer deploy no Heroku.

Para usar o Heroku com o Elixir, basicamente tive que seguir as explicações desse repositório para subir a aplicação no Heroku.

Como queria algo bem simples, decidi usar a biblioteca Maru para prover serviços REST, ao invés de usar o Phoenix Framework.

O único problema que tive se deu por conta da váriavel $PORT do Heroku (que pode ser visto nessa thread em inglês). O problema se dava basicamente por que estava tentando configurar o Maru para ouvir a porta $PORT, mas quando o aplicativo era compilado a variável não estava configurada e por isso retornava nil, causando o erro:

"Push rejected" as result, because of: "** (ArgumentError) argument error :erlang.binary_to_integer(nil)"

Resolvi o problema trocando essa linha no config.exs:

config :maru, Myapp.API, http: [port: String.to_integer(System.get_env("PORT"))]

Por essa:
port = System.get_env("PORT") || "8080"

config :maru, Myapp.API, http: [port: String.to_integer(port)]