From 4f87d8262aa71dd83c11a9a81b87c546d2edbcdd Mon Sep 17 00:00:00 2001 From: edgurgel Date: Wed, 26 Jun 2024 21:37:33 +1200 Subject: [PATCH] mix release.init --- config/{releases.exs => runtime.exs} | 0 rel/env.bat.eex | 10 ++++++---- rel/env.sh.eex | 26 ++++++++++++++++---------- rel/remote.vm.args.eex | 12 ++++++++++++ rel/vm.args.eex | 9 +++++---- 5 files changed, 39 insertions(+), 18 deletions(-) rename config/{releases.exs => runtime.exs} (100%) create mode 100644 rel/remote.vm.args.eex diff --git a/config/releases.exs b/config/runtime.exs similarity index 100% rename from config/releases.exs rename to config/runtime.exs diff --git a/rel/env.bat.eex b/rel/env.bat.eex index 482ffaf..0d82afd 100644 --- a/rel/env.bat.eex +++ b/rel/env.bat.eex @@ -1,6 +1,8 @@ @echo off -rem Set the release to work across nodes. If using the long name format like -rem the one below (my_app@127.0.0.1), you need to also uncomment the -rem RELEASE_DISTRIBUTION variable below. +rem Set the release to load code on demand (interactive) instead of preloading (embedded). +rem set RELEASE_MODE=interactive + +rem Set the release to work across nodes. +rem RELEASE_DISTRIBUTION must be "sname" (local), "name" (distributed) or "none". rem set RELEASE_DISTRIBUTION=name -rem set RELEASE_NODE=<%= @release.name %>@127.0.0.1 +rem set RELEASE_NODE=<%= @release.name %> diff --git a/rel/env.sh.eex b/rel/env.sh.eex index 6a0e6b1..ab7b76a 100644 --- a/rel/env.sh.eex +++ b/rel/env.sh.eex @@ -1,14 +1,20 @@ #!/bin/sh -# Sets and enables heart (recommended only in daemon mode) -# if [ "$RELEASE_COMMAND" = "daemon" ] || [ "$RELEASE_COMMAND" = "daemon_iex" ]; then -# HEART_COMMAND="$RELEASE_ROOT/bin/$RELEASE_NAME $RELEASE_COMMAND" -# export HEART_COMMAND -# export ELIXIR_ERL_OPTIONS="-heart" -# fi +# # Sets and enables heart (recommended only in daemon mode) +# case $RELEASE_COMMAND in +# daemon*) +# HEART_COMMAND="$RELEASE_ROOT/bin/$RELEASE_NAME $RELEASE_COMMAND" +# export HEART_COMMAND +# export ELIXIR_ERL_OPTIONS="-heart" +# ;; +# *) +# ;; +# esac -# Set the release to work across nodes. If using the long name format like -# the one below (my_app@127.0.0.1), you need to also uncomment the -# RELEASE_DISTRIBUTION variable below. +# # Set the release to load code on demand (interactive) instead of preloading (embedded). +# export RELEASE_MODE=interactive + +# # Set the release to work across nodes. +# # RELEASE_DISTRIBUTION must be "sname" (local), "name" (distributed) or "none". # export RELEASE_DISTRIBUTION=name -# export RELEASE_NODE=<%= @release.name %>@127.0.0.1 +# export RELEASE_NODE=<%= @release.name %> diff --git a/rel/remote.vm.args.eex b/rel/remote.vm.args.eex new file mode 100644 index 0000000..d9dfd37 --- /dev/null +++ b/rel/remote.vm.args.eex @@ -0,0 +1,12 @@ +## Customize flags given to the VM: https://www.erlang.org/doc/man/erl.html +## -mode/-name/-sname/-setcookie are configured via env vars, do not set them here + +## Increase number of concurrent ports/sockets +##+Q 65536 + +## Tweak GC to run more often +##-env ERL_FULLSWEEP_AFTER 10 + +## Enable deployment without epmd +## (requires changing both vm.args and remote.vm.args) +##-start_epmd false -erl_epmd_port 6789 -dist_listen false diff --git a/rel/vm.args.eex b/rel/vm.args.eex index 71e8032..a37b126 100644 --- a/rel/vm.args.eex +++ b/rel/vm.args.eex @@ -1,11 +1,12 @@ -## Customize flags given to the VM: http://erlang.org/doc/man/erl.html +## Customize flags given to the VM: https://www.erlang.org/doc/man/erl.html ## -mode/-name/-sname/-setcookie are configured via env vars, do not set them here -## Number of dirty schedulers doing IO work (file, sockets, etc) -##+SDio 5 - ## Increase number of concurrent ports/sockets ##+Q 65536 ## Tweak GC to run more often ##-env ERL_FULLSWEEP_AFTER 10 + +## Enable deployment without epmd +## (requires changing both vm.args and remote.vm.args) +##-start_epmd false -erl_epmd_port 6789false