First
[anni] / docs / installation_1 / init.d / pleroma
1 #!/sbin/openrc-run
2 supervisor=supervise-daemon
3 command_user=pleroma:pleroma
4 command_background=1
5 # Ask process to terminate within 30 seconds, otherwise kill it
6 retry="SIGTERM/30/SIGKILL/5"
7 pidfile="/var/run/pleroma.pid"
8 directory=/opt/pleroma
9 healthcheck_delay=60
10 healthcheck_timer=30
11
12 : ${pleroma_port:-4000}
13
14 # Needs OpenRC >= 0.42
15 #respawn_max=0
16 #respawn_delay=5
17
18 # put pleroma_console=YES in /etc/conf.d/pleroma if you want to be able to
19 # connect to pleroma via an elixir console
20 if yesno "${pleroma_console}"; then
21         command=elixir
22         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"
23
24         start_post() {
25                 einfo "You can get a console by using this command as pleroma's user:"
26                 einfo "iex --name console@127.0.0.1 --remsh pleroma@127.0.0.1"
27         }
28 else
29         command=/usr/bin/mix
30         command_args="phx.server"
31 fi
32
33 export MIX_ENV=prod
34
35 depend() {
36         need nginx postgresql
37 }
38
39 healthcheck() {
40         # put pleroma_health=YES in /etc/conf.d/pleroma if you want healthchecking
41         # and make sure you have curl installed
42         yesno "$pleroma_health" || return 0
43
44         curl -q "localhost:${pleroma_port}/api/pleroma/healthcheck"
45 }