I spent some time looking for a script to keep Ghost running. I had 3 things that I wanted to accomplish: to start Ghost on boot, restart Ghost if it dies and to not run Ghost as root. I found a whole bunch that fulfilled the first. A few that fulfilled the first two. The page on deploying Ghost has a few that fulfill the first two. There are way too many that expect you to run Ghost as root, which is not a good idea. Here is the upstart script that I came up with to fulfill all 3 requirements on my Ubuntu server.
description "Ghost Blog" console output start on runlevel  stop on shutdown respawn respawn limit 99 5 script cd /path/to/ghost sudo -u deploy /usr/bin/npm start --production 2>&1 end script
I'm sure, its not great. It probably could be improved. If you know something that could make it better, please leave a comment on the gist