summaryrefslogtreecommitdiff
path: root/installation/init.d/pleroma
blob: e908cda1b318ab4bea6d6371b898b8ecb12a6667 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/sbin/openrc-run
supervisor=supervise-daemon
command_user=pleroma:pleroma
command_background=1
# Ask process to terminate within 30 seconds, otherwise kill it
retry="SIGTERM/30/SIGKILL/5"
pidfile="/var/run/pleroma.pid"
directory=/opt/pleroma
healthcheck_delay=60
healthcheck_timer=30
export $(cat /opt/pleroma/config/pleroma.env)

: ${pleroma_port:-4000}

# Needs OpenRC >= 0.42
#respawn_max=0
#respawn_delay=5

# put pleroma_console=YES in /etc/conf.d/pleroma if you want to be able to
# connect to pleroma via an elixir console
if yesno "${pleroma_console}"; then
	command=elixir
	command_args="--name pleroma@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 pleroma's user:"
		einfo "iex --name console@127.0.0.1 --remsh pleroma@127.0.0.1"
	}
else
	command=/usr/bin/mix
	command_args="phx.server"
fi

export MIX_ENV=prod

depend() {
	need nginx postgresql
}

healthcheck() {
	# put pleroma_health=YES in /etc/conf.d/pleroma if you want healthchecking
	# and make sure you have curl installed
	yesno "$pleroma_health" || return 0

	curl -q "localhost:${pleroma_port}/api/pleroma/healthcheck"
}