Application.start
returns once your application is started, then the script is done and terminates.
You can look at this one about how to get around the “reaching the end and terminate”: mix_install_examples/bandit.exs at main · wojtekmach/mix_install_examples · GitHub