Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #
- ### BEGIN INIT INFO
- # Provides: my-project
- # Required-Start: $remote_fs $syslog docker
- # Required-Stop: $remote_fs $syslog docker
- # Should-Start: $network $named $time
- # Should-Stop: $network $named $time
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # Short-Description: my-project
- # Description: my-project
- ### END INIT INFO
- #
- . /lib/lsb/init-functions
- PROJECT_DIR=/home/USERNAME/my-project
- PID_FILE=$PROJECT_DIR/pids/my-project.pid
- DOCKER_BIN=/usr/bin/docker
- NPM_BIN=/usr/local/bin/npm
- case "${1:-''}" in
- 'start')
- (cd "$PROJECT_DIR" && "$NPM_BIN" run start)
- exit $?
- ;;
- 'stop')
- (cd "$PROJECT_DIR" && "$NPM_BIN" run stop)
- exit $?
- ;;
- 'restart')
- "$0" stop
- retval=$?
- [ $retval -ne 0 ] && exit $retval
- "$0" start
- exit $?
- ;;
- 'status')
- if [[ ! -f "$PID_FILE" ]]; then
- echo 'Container is not started' 1>&2
- else
- echo "Container PID: $(cat "$PID_FILE")"
- "$DOCKER_BIN" ps
- fi
- ;;
- *)
- echo "Usage: $SELF start|stop|restart|status"
- exit 1
- ;;
- esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement