Skip to content

Instantly share code, notes, and snippets.

@gregology
Last active September 24, 2024 14:49
Show Gist options
  • Save gregology/5313326 to your computer and use it in GitHub Desktop.
Save gregology/5313326 to your computer and use it in GitHub Desktop.
Service script for dashing. Update DASHING_DIR variable, add this file to /etc/init.d/ , chmod to 755, and let update rc.d with $ sudo update-rc.d dashboard defaults This scripts stops the dashing service with "killall thin" which will kill all thin services running on your server.
#!/bin/bash
# Dashing service
# Add this file to /etc/init.d/
# $ sudo cp dashboard /etc/init.d/
# Update variables DASHING_DIR, GEM_HOME, & PATH to suit your installation
# $ sudo nano /etc/init.d/dashboard
# Make executable
# $ sudo chmod 755 /etc/init.d/dashboard
# Update rc.d
# $ sudo update-rc.d dashboard defaults
# Dashboard will start at boot. Check out the boot log for trouble shooting "/var/log/boot.log"
# USAGE: start|stop|status|logs
### BEGIN INIT INFO
# Provides: dashboard
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
# Gregology <[email protected]>
# https://gist.github.com/gregology/5313326
# Based on Faraz Haider's LifeRay Startup Service script
# https://gist.github.com/haiderfaraz/2773431
DASHING_DIR=/path/to/dashboard/
GEM_HOME=/usr/local/lib/ruby/gems/1.9.1
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
case "$1" in
start)
echo "Starting Dashing."
cd $DASHING_DIR; dashing start -d
;;
stop)
echo "Stopping Dashing."
killall thin
;;
logs)
echo "See the logs of the Dashing."
tail -f $DASHING_DIR'log/thin.log'
;;
status)
# Check to see if the process is running
ps aux|grep -i dashing
;;
*)
echo "Dashing"
echo $"Usage: $0 {start|stop|status|logs}"
exit 1
esac
exit 0
@emanuelstanciu
Copy link

I have another issue.. the script works fine when I run it from the terminal
however, as part of the init.d startup, it doesn't work..
so, if I do sudo service dashing start or sudo /etc/init.d/dashing start, I can successfully start the service
however, it doesn't start as part of the boot.. this is what I see in the boot.log file:
^[[31mbundler: command not found: thin^[[0m
^[[33mInstall missing gem executables with bundle install^[[0m
...done.

And it simply fails to start.. very frustrating, I look in every place to see why this is happening, without luck. I run this on an Ubuntu 14.04 OS.
If anyone can help, please let me know your thoughts on this issue.

@zwergengott
Copy link

How can I reverse it, so that it boots to the desktop again?

@dtburrows
Copy link

I was able to fix the "mbundler: command not found: thin" problem @Ariestar mentions above by adding the following Path variable to the @plytro bash script on the line after GEM_HOME:

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

@dannyhw
Copy link

dannyhw commented Oct 24, 2016

Plytros version worked for me, except for the status command which doesn't work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment