Created
March 29, 2016 07:09
-
-
Save hoerup/73d02600cafee855eeb5 to your computer and use it in GitHub Desktop.
Install Script for Xen Orchestra
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Note: this script works on debian 7/wheezy and debian 8/jessie | |
# | |
# If running on a raspberry 1(A/B) raspian/wheezy - downgrade node.js to 5.4.0 | |
# Please note that raspian/wheezy for arm defaults to gcc 4.6 | |
# gcc 4.7 is needed for compiling node-js modules | |
BRANCH=master | |
function restartxo { | |
killall -9 node | |
rm -f /root/forever.log | |
forever start -l /root/forever.log /root/xo-server/bin/xo-server | |
} | |
if [ "$1" == "restart" ] ; then | |
restartxo | |
exit | |
fi | |
if [ "$1" == "clean" ] ; then | |
echo cleaning xo-web | |
rm -rf xo-web | |
echo cleaning xo-server | |
rm -rf xo-server | |
echo cleaning .npm | |
rm -rf .npm | |
echo cleaning .node-gyp | |
rm -rf .node-gyp | |
echo cleaning .cache | |
rm -rf .cache | |
echo cleaning .forever | |
rm -rf .forever | |
rm -rf forever.log | |
echo done | |
exit | |
fi | |
if [ ! -x "/usr/bin/curl" ] ; then | |
echo "installing curl" | |
apt-get install curl || exit | |
fi | |
if [ ! -x "/usr/bin/gcc" ] ; then | |
echo "installing build-essential" | |
apt-get install build-essential || exit | |
fi | |
if [ ! -f "/usr/include/libpng12/png.h" ] ; then | |
echo "installing libpng" | |
apt-get install libpng12-dev || exit | |
fi | |
if [ ! -x "/usr/bin/redis-server" ] ; then | |
echo "installing redis-server" | |
apt-get install redis-server || exit | |
fi | |
if [ ! -x "/usr/bin/git" ] ; then | |
echo "installing git" | |
apt-get install git || exit | |
fi | |
if [ ! -x "/usr/local/bin/n" ] ; then | |
echo "installing node.js bootstrap" | |
curl -o /usr/local/bin/n https://raw.githubusercontent.com/visionmedia/n/master/bin/n || exit | |
chmod +x /usr/local/bin/n | |
fi | |
if [ ! -x "/usr/local/bin/node" ] ; then | |
echo "installing node.js" | |
n stable || exit | |
fi | |
if [ ! -x "/usr/local/bin/gulp" ] ; then | |
echo "installing gulp" | |
npm install -g gulp || exit | |
fi | |
if [ ! -x "/usr/local/bin/forever" ] ; then | |
echo "installing forever" | |
npm install -g forever || exit | |
fi | |
if [ ! -x "/usr/local/bin/node-gyp" ] ; then | |
echo "installing node-gyp" | |
npm install -g node-gyp || exit | |
fi | |
if [ ! -d "/usr/local/lib/node_modules/bcrypt" ] ; then | |
echo "installing bcrypt" | |
npm install -g bcrypt || exit | |
fi | |
if [ ! -d "xo-web" ] ; then | |
git clone -b $BRANCH https://github.com/vatesfr/xo-web.git | |
else | |
cd xo-web | |
git pull | |
cd .. | |
fi | |
if [ ! -d "xo-server" ] ; then | |
git clone -b $BRANCH https://github.com/vatesfr/xo-server.git | |
else | |
cd xo-server | |
git pull | |
cd .. | |
fi | |
# xo-server | |
echo "building xo-server" | |
cd xo-server | |
npm install || exit | |
npm run build || exit | |
#for some reasone leveldown fails occasionally on arm/raspberry pi | |
if [ ! -d "/root/xo-server/node_modules/leveldown/build" ] ; then | |
pushd node_modules/leveldown | |
node-gyp configure || exit | |
node-gyp build || exit | |
popd | |
fi | |
cd .. | |
#xo-web | |
echo "building xo-web" | |
cd xo-web | |
npm install --unsafe-perm || exit | |
npm run build || exit | |
cd .. | |
if [ ! -f "/etc/xo-server/config.yaml" ] ; then | |
if [ ! -d "/etc/xo-server" ] ; then | |
mkdir /etc/xo-server | |
fi | |
echo "please setup /etc/xo-server/config.yaml" | |
exit | |
fi | |
restartxo | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment