2022-07-06 20:50:01 +02:00
|
|
|
#!/sbin/openrc-run
|
|
|
|
supervisor=supervise-daemon
|
|
|
|
command_user=akkoma:akkoma
|
|
|
|
command_background=1
|
|
|
|
# Ask process to terminate within 30 seconds, otherwise kill it
|
|
|
|
retry="SIGTERM/30/SIGKILL/5"
|
|
|
|
pidfile="/var/run/akkoma.pid"
|
|
|
|
directory=/opt/akkoma
|
|
|
|
healthcheck_delay=60
|
|
|
|
healthcheck_timer=30
|
|
|
|
|
|
|
|
: ${akkoma_port:-4000}
|
|
|
|
|
|
|
|
# Needs OpenRC >= 0.42
|
|
|
|
#respawn_max=0
|
|
|
|
#respawn_delay=5
|
|
|
|
|
|
|
|
# put akkoma_console=YES in /etc/conf.d/akkoma if you want to be able to
|
|
|
|
# connect to akkoma via an elixir console
|
|
|
|
if yesno "${akkoma_console}"; then
|
|
|
|
command=elixir
|
|
|
|
command_args="--name akkoma@127.0.0.1 --erl '-kernel inet_dist_listen_min 9001 inet_dist_listen_max 9001 inet_dist_use_interface {127,0,0,1}' -S mix phx.server"
|
|
|
|
|
|
|
|
start_post() {
|
|
|
|
einfo "You can get a console by using this command as akkoma's user:"
|
|
|
|
einfo "iex --name console@127.0.0.1 --remsh akkoma@127.0.0.1"
|
|
|
|
}
|
|
|
|
else
|
|
|
|
command=/usr/bin/mix
|
|
|
|
command_args="phx.server"
|
|
|
|
fi
|
|
|
|
|
|
|
|
export MIX_ENV=prod
|
2022-12-10 03:36:21 +01:00
|
|
|
export ERL_EPMD_ADDRESS=127.0.0.1
|
2022-07-06 20:50:01 +02:00
|
|
|
|
|
|
|
depend() {
|
|
|
|
need nginx postgresql
|
|
|
|
}
|
|
|
|
|
|
|
|
healthcheck() {
|
|
|
|
# put akkoma_health=YES in /etc/conf.d/akkoma if you want healthchecking
|
|
|
|
# and make sure you have curl installed
|
|
|
|
yesno "$akkoma_health" || return 0
|
|
|
|
|
|
|
|
curl -q "localhost:${akkoma_port}/api/akkoma/healthcheck"
|
|
|
|
}
|