commit: a2a8c8e9e09b3aa5bc488a958a0afe5909a6e89c
parent: 39ec1af9936e96f7885a58c9d77f3711091a80b1
Author: lain <lain@soykaf.club>
Date: Thu, 14 May 2020 09:27:33 +0000
Merge branch 'features/openrc-console' into 'develop'
init.d/pleroma: Add option to attach an elixir console
See merge request pleroma/pleroma!1704
Diffstat:
1 file changed, 36 insertions(+), 12 deletions(-)
diff --git a/installation/init.d/pleroma b/installation/init.d/pleroma
@@ -1,21 +1,45 @@
#!/sbin/openrc-run
-
-# Requires OpenRC >= 0.35
-directory=/opt/pleroma
-
-command=/usr/bin/mix
-command_args="phx.server"
+supervisor=supervise-daemon
command_user=pleroma:pleroma
command_background=1
-
-export PORT=4000
-export MIX_ENV=prod
-
# 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
+
+: ${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
+ 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"
}