File: miniflux.init

package info (click to toggle)
miniflux 2.2.6-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 5,632 kB
  • sloc: xml: 4,843; javascript: 1,326; sh: 290; makefile: 179
file content (94 lines) | stat: -rwxr-xr-x 2,663 bytes parent folder | download | duplicates (2)
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/bin/sh

### BEGIN INIT INFO
# Provides:          miniflux
# Required-Start:    $remote_fs $network
# Required-Stop:     $remote_fs $network
# Should-Start:      postgresql
# Should-Stop:       postgresql
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: minimalist and opinionated feed reader
# Description:       Miniflux is a minimalist and opinionated feed reader:
#                      - Written in Go (Golang)
#                      - Works only with PostgreSQL
#                      - Doesn't use any ORM
#                      - Doesn't use any complicated framework
#                      - Use only modern vanilla Javascript (ES6 and Fetch API)
#                      - Single binary compiled statically without dependency
#                      - The number of features is voluntarily limited
#                    It's simple, fast, lightweight and super easy to install.
### END INIT INFO

set -e

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

DAEMON=/usr/bin/miniflux
NAME=miniflux
DESC="feed reader"
PIDFILE=/var/run/miniflux.pid
DAEMON_OPTS="-c /etc/miniflux/miniflux.conf"
DAEMON_USER=miniflux
DAEMON_GROUP=miniflux

. /lib/lsb/init-functions

if ! getent passwd | grep -q "^$DAEMON_USER:"; then
        echo "Server user does not exist. Aborting" >&2
        exit 1
fi
if ! getent group | grep -q "^$DAEMON_GROUP:" ; then
        echo "Server group does not exist. Aborting" >&2
        exit 1
fi

do_start() {
        start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile \
                --background --chuid $DAEMONUSER --exec $DAEMON -- $DAEMON_OPTS
}

do_stop() {
        start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE \
                --user $DAEMONUSER --exec $DAEMON
}

case "$1" in
start)
        log_daemon_msg "Starting $DESC" "$NAME"
        do_start
        case "$?" in
        0) log_end_msg 0 ;;
        1)
                log_progress_msg "already started"
                log_end_msg 0
                ;;
        *) log_end_msg $? ;;
        esac
        ;;
stop)
        log_daemon_msg "Stopping $DESC" "$NAME"
        do_stop
        case "$?" in
        0) log_end_msg 0 ;;
        1)
                log_progress_msg "already stopped"
                log_end_msg 0
                ;;
        *) log_end_msg $? ;;
        esac
        ;;
restart | force-reload)
        $0 stop
        $0 start
        ;;
status)
        status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
        ;;
*)
        echo "Usage: /etc/init.d/$NAME {start|stop|restart|reload|force-reload|status}" >&2
        exit 3
        ;;
esac

exit 0