2013-12-06 11:27:34 -05:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
# $0 script path
|
|
|
|
|
# $1 action
|
|
|
|
|
# $2 subaction
|
|
|
|
|
|
2014-04-28 11:39:50 +02:00
|
|
|
node="$(which nodejs 2>/dev/null)";
|
|
|
|
|
if [ $? -gt 0 ];
|
|
|
|
|
then node="$(which node)";
|
|
|
|
|
fi
|
|
|
|
|
|
2014-03-17 13:20:07 -04:00
|
|
|
function pidExists() {
|
|
|
|
|
if [ -e "pidfile" ];
|
|
|
|
|
then
|
|
|
|
|
kill -s 0 $(cat pidfile);
|
|
|
|
|
if [ !$? ];
|
|
|
|
|
then return 1;
|
|
|
|
|
else return 0;
|
|
|
|
|
fi
|
|
|
|
|
else
|
|
|
|
|
return 0;
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
2013-12-06 11:27:34 -05:00
|
|
|
case "$1" in
|
|
|
|
|
start)
|
2014-02-27 10:06:31 -05:00
|
|
|
echo "Starting NodeBB";
|
|
|
|
|
echo " \"./nodebb stop\" to stop the NodeBB server";
|
|
|
|
|
echo " \"./nodebb log\" to view server output";
|
2014-04-09 13:10:28 -04:00
|
|
|
|
|
|
|
|
if [ -f "./logs/output.log" ]; # Preserve the last output log
|
|
|
|
|
then
|
|
|
|
|
mv ./logs/output.log ./logs/output.1.log;
|
|
|
|
|
fi;
|
|
|
|
|
|
|
|
|
|
# Start the loader daemon
|
2014-04-28 11:39:50 +02:00
|
|
|
"$node" loader -d "$@"
|
2014-02-27 10:06:31 -05:00
|
|
|
;;
|
|
|
|
|
|
|
|
|
|
stop)
|
2014-04-17 12:09:42 -04:00
|
|
|
pidExists;
|
|
|
|
|
if [ 0 -eq $? ];
|
|
|
|
|
then
|
|
|
|
|
echo "NodeBB is already stopped.";
|
|
|
|
|
else
|
|
|
|
|
echo "Stopping NodeBB. Goodbye!";
|
|
|
|
|
kill $(cat pidfile);
|
|
|
|
|
fi
|
2014-02-27 10:06:31 -05:00
|
|
|
;;
|
|
|
|
|
|
2014-02-27 20:36:04 -05:00
|
|
|
reload|restart)
|
2014-04-17 12:09:42 -04:00
|
|
|
pidExists;
|
|
|
|
|
if [ 0 -eq $? ];
|
|
|
|
|
then
|
|
|
|
|
echo "NodeBB could not be restarted, as a running instance could not be found.";
|
|
|
|
|
else
|
|
|
|
|
echo "Restarting NodeBB.";
|
|
|
|
|
kill -1 $(cat pidfile);
|
|
|
|
|
fi
|
2014-03-17 13:20:07 -04:00
|
|
|
;;
|
|
|
|
|
|
|
|
|
|
status)
|
|
|
|
|
pidExists;
|
|
|
|
|
if [ 0 -eq $? ];
|
|
|
|
|
then
|
|
|
|
|
echo "NodeBB is not running";
|
|
|
|
|
echo " \"./nodebb start\" to launch the NodeBB server";
|
|
|
|
|
else
|
|
|
|
|
echo "NodeBB Running (pid $(cat pidfile))";
|
|
|
|
|
echo " \"./nodebb stop\" to stop the NodeBB server";
|
|
|
|
|
echo " \"./nodebb log\" to view server output";
|
|
|
|
|
echo " \"./nodebb restart\" to restart NodeBB";
|
|
|
|
|
fi
|
2014-02-27 20:36:04 -05:00
|
|
|
;;
|
|
|
|
|
|
2014-02-27 10:06:31 -05:00
|
|
|
log)
|
2014-02-27 20:36:04 -05:00
|
|
|
clear;
|
2014-02-27 10:06:31 -05:00
|
|
|
tail -F ./logs/output.log;
|
2013-12-06 11:27:34 -05:00
|
|
|
;;
|
|
|
|
|
|
2014-01-05 12:15:23 -05:00
|
|
|
upgrade)
|
2014-01-14 12:34:29 -05:00
|
|
|
npm install
|
2014-05-08 00:50:44 -04:00
|
|
|
# ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm install
|
|
|
|
|
# ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm update
|
|
|
|
|
npm i nodebb-theme-vanilla nodebb-theme-lavender
|
2014-04-28 11:39:50 +02:00
|
|
|
"$node" app --upgrade
|
2014-02-13 12:26:43 -05:00
|
|
|
touch package.json
|
2014-01-14 12:34:29 -05:00
|
|
|
echo -e "\n\e[00;32mNodeBB Dependencies up-to-date!\e[00;00m";
|
2014-01-05 12:15:23 -05:00
|
|
|
;;
|
|
|
|
|
|
2014-02-13 13:10:40 -05:00
|
|
|
setup)
|
2014-04-28 11:39:50 +02:00
|
|
|
"$node" app --setup "$@"
|
2014-02-13 13:10:40 -05:00
|
|
|
;;
|
|
|
|
|
|
2014-02-22 02:36:56 -05:00
|
|
|
reset)
|
2014-04-28 11:39:50 +02:00
|
|
|
"$node" app --reset --$2
|
2014-02-22 02:36:56 -05:00
|
|
|
;;
|
2014-02-18 22:46:44 +00:00
|
|
|
|
2013-12-06 11:27:34 -05:00
|
|
|
dev)
|
|
|
|
|
echo "Launching NodeBB in \"development\" mode."
|
|
|
|
|
echo "To run the production build of NodeBB, please use \"forever\"."
|
2014-05-23 15:21:51 -04:00
|
|
|
echo "More Information: https://github.com/NodeBB/NodeBB/wiki/How-to-run-NodeBB"
|
2014-04-28 11:39:50 +02:00
|
|
|
NODE_ENV=development "$node" loader --no-daemon "$@"
|
2013-12-06 11:27:34 -05:00
|
|
|
;;
|
|
|
|
|
|
|
|
|
|
watch)
|
|
|
|
|
echo "Launching NodeBB in \"development\" mode."
|
|
|
|
|
echo "To run the production build of NodeBB, please use \"forever\"."
|
2014-05-23 15:21:51 -04:00
|
|
|
echo "More Information: https://github.com/NodeBB/NodeBB/wiki/How-to-run-NodeBB"
|
2014-04-23 19:59:55 -04:00
|
|
|
NODE_ENV=development supervisor -q --ignore public/templates --extensions 'node|js|tpl|less' -- app "$@"
|
2013-12-06 11:27:34 -05:00
|
|
|
;;
|
|
|
|
|
|
|
|
|
|
*)
|
|
|
|
|
echo "Welcome to NodeBB"
|
2014-02-27 23:24:52 -05:00
|
|
|
echo $"Usage: $0 {start|stop|reload|restart|log|setup|reset|upgrade|dev|watch}"
|
2013-12-06 11:27:34 -05:00
|
|
|
echo ''
|
|
|
|
|
column -s ' ' -t <<< '
|
2014-02-27 10:13:36 -05:00
|
|
|
start Start the NodeBB server
|
|
|
|
|
stop Stops the NodeBB server
|
2014-02-27 20:36:04 -05:00
|
|
|
reload Restarts NodeBB
|
|
|
|
|
restart Restarts NodeBB
|
2014-02-27 10:13:36 -05:00
|
|
|
log Opens the logging interface (useful for debugging)
|
2014-02-27 10:30:09 -05:00
|
|
|
setup Runs the NodeBB setup script
|
|
|
|
|
reset Disables all plugins, restores the default theme.
|
2014-01-06 19:24:09 -05:00
|
|
|
upgrade Run NodeBB upgrade scripts, ensure packages are up-to-date
|
2014-02-27 10:13:36 -05:00
|
|
|
dev Start NodeBB in interactive development mode
|
|
|
|
|
watch Start NodeBB in development mode and watch for changes
|
2013-12-06 11:27:34 -05:00
|
|
|
'
|
|
|
|
|
exit 1
|
|
|
|
|
esac
|