# NamedSupervisedServer behaviour

**URL:** <https://forum.elixirforum.com/t/namedsupervisedserver-behaviour/58657>\
**Category:** Announcing\
**Tags:** library, behaviour, genserver\
**Created:** [October 3, 2023, 10:32am UTC](https://forum.elixirforum.com/t/namedsupervisedserver-behaviour/58657 "2023-10-03T10:32:19Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![pertsevds](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/pertsevds/32/20614_2.png) [@pertsevds](https://forum.elixirforum.com/u/pertsevds)\
**Post date:** [October 3, 2023, 10:32am UTC](https://forum.elixirforum.com/t/namedsupervisedserver-behaviour/58657/1 "2023-10-03T10:32:19Z")

</div>

I’ve made a behaviour that helps write faster many named GenServers. Like `named: __MODULE__ `.

It’s a behaviour module for starting supervised GenServer that is named as ` __MODULE__ ` by default or you can supply different name.

With the use of `NamedSupervisedServer`, you can avoid the need to add `c:start_link/1` function with `name: __MODULE__ ` to your module every time you write a new one. If you need your own `c:start_link/1` function, you can override it.

> **[named\_supervised\_server](https://hex.pm/packages/named_supervised_server)**
>
> NamedSupervisedServer is a start\_link/1 + GenServer behaviour that is named as \_\_MODULE\_\_ by default or you can supply different name.

PS. If you use Docker with Elixir, please try [Nbpm](https://hex.pm/packages/nbpm/) package. It frees you from having to deal with EPMD.
