diaspora/script/server

53 lines
1.2 KiB
Bash
Executable file

#!/bin/bash
#
# Start diaspora websocket and main services
#
realpath=$( ruby -e "puts File.expand_path(\"$0\")")
cd $( dirname $realpath)/..
PORT=3000
THIN_ARGS="$@"
while [ $# -gt 0 ]; do
if [ "$1" = '-p' ]; then
PORT="$2"
break
fi
shift
done
# Is someone listening on the ports already? (ipv4 only test ?)
services=$( netstat -nl | grep '[^:]:'$PORT'[ \t]')
if [ -n "$services" ]; then
echo "Error: something is already using thin port $PORT. Exiting" >&2
echo " $services"
exit 64
fi
services=$( netstat -nl | grep '[^:]:8080[ \t]')
if [ -n "$services" ]; then
echo "Error: something is already using websocket port 8080. Exiting" >&2
echo " $services"
exit 64
fi
# Check if Mongo is running
if ! pgrep mongod >/dev/null
then
echo "Error: Mongod not started. Exiting" >&2
exit 64
fi
# Force AGPL
if [ -w public -a ! -e public/source.tar.gz ]; then
tar czf public/source.tar.gz --exclude='source.tar.gz' -X .gitignore *
fi
if [ ! -e public/source.tar.gz ]; then
echo "Error: Can't find, or even create, public/source.tar.gz. Exiting" >&2
exit 65
fi
mkdir -p -v log/thin/
bundle exec ruby ./script/websocket_server.rb&
bundle exec thin start $THIN_ARGS