github.com/rpdict/ponzu@v0.10.1-0.20190226054626-477f29d6bf5e/deployment/sysv/ponzu-server (about) 1 #!/bin/sh 2 ### BEGIN INIT INFO 3 # Provides: ponzu-server 4 # Required-Start: $local_fs $network $named $time $syslog 5 # Required-Stop: $local_fs $network $named $time $syslog 6 # Default-Start: 2 3 4 5 7 # Default-Stop: 0 1 6 8 # Description: Ponzu API & Admin server 9 ### END INIT INFO 10 11 PROJECT_DIR=<PROJECT DIRECTORY> 12 SCRIPT="cd $PROJECT_DIR && ponzu run --port=80" # add --https here to get TLS/HTTPS 13 RUNAS=<USER> 14 15 PIDFILE=/var/run/ponzu-server.pid 16 LOGFILE=/var/log/ponzu-server.log 17 18 start() { 19 if [ -f /var/run/$PIDNAME ] && kill -0 $(cat /var/run/$PIDNAME); then 20 echo 'Service already running' >&2 21 return 1 22 fi 23 echo 'Starting serviceā¦' >&2 24 local CMD="$SCRIPT &> \"$LOGFILE\" & echo \$!" 25 su -c "$CMD" $RUNAS > "$PIDFILE" 26 echo 'Service started' >&2 27 } 28 29 stop() { 30 if [ ! -f "$PIDFILE" ] || ! kill -0 $(cat "$PIDFILE"); then 31 echo 'Service not running' >&2 32 return 1 33 fi 34 echo 'Stopping serviceā¦' >&2 35 kill -15 $(cat "$PIDFILE") && rm -f "$PIDFILE" 36 echo 'Service stopped' >&2 37 } 38 39 uninstall() { 40 echo -n "Are you really sure you want to uninstall this service? That cannot be undone. [yes|No] " 41 local SURE 42 read SURE 43 if [ "$SURE" = "yes" ]; then 44 stop 45 rm -f "$PIDFILE" 46 echo "Notice: log file is not be removed: '$LOGFILE'" >&2 47 update-rc.d -f <NAME> remove 48 rm -fv "$0" 49 fi 50 } 51 52 case "$1" in 53 start) 54 start 55 ;; 56 stop) 57 stop 58 ;; 59 uninstall) 60 uninstall 61 ;; 62 restart) 63 stop 64 start 65 ;; 66 *) 67 echo "Usage: $0 {start|stop|restart|uninstall}" 68 esac