# Nbpm

Name-Based Port Mapper


[![Coverage Status](](
[![Hex pm](](
[![Hex Docs](](

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](#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.0"}


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` to
> `ELIXIR_ERL_OPTIONS` in files `rel/` and `rel/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: <>

## Documentation