NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.39k stars 14.34k forks source link

Pleroma, plausible: make epmd dependency more explicit #135878

Open happysalada opened 3 years ago

happysalada commented 3 years ago

All elixir releases, start epmd by default. epmd is a small program that will coordinate different elixir/erlang releases. If you have an elixir app and rabbitmq running on the same network (on the same machine or different machines connected), epmd is what will enable those two services to communicate with each other (this is an oversimplification).

For every elixir release, if epmd is not found, the release will start epmd on its own. For all maintainers of pleroma and plausible, you can verify that indeed epmd is running on your machine with ps -fe | grep epmd. This hidden dependency is not ideal, this issue would like to propose to make the dependency explicit.

There is already an epmd service in nix. Rabbitmq for example relies on it https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/amqp/rabbitmq.nix#L146 Pleroma and plausible could do the same.

Drawback.

I understand that this might be painful without bringing too much benefit. The main advantage is that your service will play well with other elixir/erlang based services. If right now you try to enable rabbitmq for example, there will be an epmd activation failure. It's ok if you understand what that means, but that might not be the best user experience.

I leave this decision to the maintainers of each package. If you want to do the change, I am happy to make the PR and for you to test. If you would rather not, that is fine too. I just wanted to bring this to your attention.

maintainer for plausible service: @Ma27 maintianer for pleroma service: @NinjaTrappeur

@NixOS/beam might be interested or have an opinion.

Notify maintainers

maintainers:

Note for maintainers

Please tag this issue in your PR.

fungalcofe commented 3 years ago

Not only hidden dependency, an open epmd service could be a security issue, granting shell access as user running service (or maybe more).

stale[bot] commented 2 years ago

I marked this as stale due to inactivity. → More info