Marcus Rohrmoser 3 лет назад
Родитель
Сommit
69dca2b619

+ 7 - 0
contrib/sysvinit/README.md

@@ -0,0 +1,7 @@
+
+System-V init for e.g. http://devuan.org
+
+Assumes an executable `/usr/local/bin/miniflux`.
+
+Configure in `etc/default/miniflux`
+

+ 6 - 0
contrib/sysvinit/etc/default/miniflux

@@ -0,0 +1,6 @@
+# sourced by /etc/init.d/miniflux
+# see cluster port in pg_lsclusters and ls -Al /var/run/postgresql/
+export DATABASE_URL='host=/var/run/postgresql/ port=5433 user=miniflux password=<my secrect db password> dbname=miniflux sslmode=disable'
+export LISTEN_ADDR='127.0.0.1:8081'
+export BASE_URL='https://<my miniflux domain> and path/'
+

+ 127 - 0
contrib/sysvinit/etc/init.d/miniflux

@@ -0,0 +1,127 @@
+#! /bin/sh
+
+### BEGIN INIT INFO
+# Provides:          miniflux
+# Required-Start:    $syslog $network
+# Required-Stop:     $syslog
+# Should-Start:      postgresql
+# Should-Stop:       postgresql
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: A rss reader
+# Description:       A RSS reader
+### END INIT INFO
+
+# Author: Danny Boisvert
+
+# Do NOT "set -e"
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="Miniflux"
+NAME=miniflux
+SERVICEVERBOSE=yes
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+WORKINGDIR=/usr/local/bin
+DAEMON=$WORKINGDIR/$NAME
+DAEMON_ARGS=""
+USER=nobody
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
+# and status_of_proc is working.
+. /lib/lsb/init-functions
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+  # Return
+  #   0 if daemon has been started
+  #   1 if daemon was already running
+  #   2 if daemon could not be started
+  sh -c "USER=$USER start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile \\
+      --test --chdir $WORKINGDIR --chuid $USER \\
+      --exec $DAEMON -- $DAEMON_ARGS > /dev/null \\
+      || return 1"
+  sh -c "USER=$USER start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile \\
+      --background --chdir $WORKINGDIR --chuid $USER \\
+      --exec $DAEMON -- $DAEMON_ARGS \\
+      || return 2"
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+  # Return
+  #   0 if daemon has been stopped
+  #   1 if daemon was already stopped
+  #   2 if daemon could not be stopped
+  #   other if a failure occurred
+  start-stop-daemon --stop --quiet --retry=TERM/1/KILL/5 --pidfile $PIDFILE --name $NAME
+  RETVAL="$?"
+  [ "$RETVAL" = 2 ] && return 2
+  start-stop-daemon --stop --quiet --oknodo --retry=0/1/KILL/5 --exec $DAEMON
+  [ "$?" = 2 ] && return 2
+  # Many daemons don't delete their pidfiles when they exit.
+  rm -f $PIDFILE
+  return "$RETVAL"
+}
+
+
+case "$1" in
+  start)
+  [ "$SERVICEVERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+  do_start
+  case "$?" in
+    0|1) [ "$SERVICEVERBOSE" != no ] && log_end_msg 0 ;;
+    2) [ "$SERVICEVERBOSE" != no ] && log_end_msg 1 ;;
+  esac
+  ;;
+  stop)
+  [ "$SERVICEVERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+  do_stop
+  case "$?" in
+    0|1) [ "$SERVICEVERBOSE" != no ] && log_end_msg 0 ;;
+    2) [ "$SERVICEVERBOSE" != no ] && log_end_msg 1 ;;
+  esac
+  ;;
+  status)
+  status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+  ;;
+  restart|force-reload)
+  log_daemon_msg "Restarting $DESC" "$NAME"
+  do_stop
+  case "$?" in
+    0|1)
+    do_start
+    case "$?" in
+      0) log_end_msg 0 ;;
+      1) log_end_msg 1 ;; # Old process is still running
+      *) log_end_msg 1 ;; # Failed to start
+    esac
+    ;;
+    *)
+    # Failed to stop
+    log_end_msg 1
+    ;;
+    esac
+  ;;
+  *)
+    echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+    exit 3
+    ;;
+esac