Nbpm
Name-Based Port Mapper
With Nbpm you don't need EPMD daemon. No additional daemons, no additional configs. Easy and simple distribution without EPMD.
Features
Mix.Release
compatibility.- Ability to specify port number in the node name.
- Hash-Based Port from node name.
- Mix task to get port number from node name.
Installation
To use Nbpm
in your Elixir project, add it as a dependency
in your mix.exs
file:
def deps do
[
{:nbpm, "~> 0.3.1"}
]
end
Run
mix deps.get
to download it.
Then run
mix nbpm.install
to install Nbpm into your project.
[!NOTE]
mix nbpm.install
will add-start_epmd false -epmd_module Elixir.Nbpm
toELIXIR_ERL_OPTIONS
in filesrel/env.sh.eex
andrel/env.bat.eex
.This will disable loading of EPMD daemon and will use Nbpm module to map node names to ports.
Mix task to get port number from node name
You can get port number for your current app name
by using nbpm.get_port_number
task:
mix nbpm.get_port_number
mix nbpm.get_port_number
will output port number for your current app.
Or you can supply any node name as an argument:
mix nbpm.get_port_number my_app
mix nbpm.get_port_number my_app
will output port number
for my_app
node name.
Todo
Installation to global: https://github.com/pertsevds/nbpm/issues/4