--- misc/xoa-installer/xoa-installer.sh 2016/02/29 09:49:28 2959 +++ misc/xoa-installer/xoa-installer.sh 2016/08/31 09:12:33 3109 @@ -1,10 +1,13 @@ #!/bin/bash -# npm install -g npm@next +# 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=next-release -BRANCH=master +BRANCH=stable function restartxo { @@ -22,6 +25,9 @@ echo cleaning xo-web rm -rf xo-web + echo cleaning xo-web-v4 + rm -rf xo-web-v4 + echo cleaning xo-server rm -rf xo-server @@ -37,7 +43,7 @@ echo cleaning .forever rm -rf .forever rm -rf forever.log - + echo done exit @@ -49,6 +55,27 @@ 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 @@ -62,10 +89,23 @@ if [ ! -x "/usr/local/bin/gulp" ] ; then echo "installing gulp" - npm install -x 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 @@ -75,6 +115,12 @@ cd .. fi +if [ ! -d "xo-web-v4" ] ; then + git clone -b $BRANCH https://github.com/vatesfr/xo-web.git xo-web-v4 + cd xo-web-v4 + git checkout tags/v4.16.0 + cd .. +fi if [ ! -d "xo-server" ] ; then git clone -b $BRANCH https://github.com/vatesfr/xo-server.git @@ -88,18 +134,55 @@ # xo-server echo "building xo-server" cd xo-server -npm install || exit -npm run build || exit + 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 + #npm install --unsafe-perm || exit + npm install || exit + npm run build || exit +cd .. + +#xo-web-v4 +echo "building xo-web-v4" +cd xo-web-v4 + npm install || exit + npm run build || exit cd .. -restartxo + + +if [ ! -f xo-web/dist/styles/main.css ] ; then + mkdir xo-web/dist/styles + mkdir xo-web/dist/images + + cp xo-web-v4/dist/styles/main.css xo-web/dist/styles/main.css + cp xo-web-v4/dist/images/logo_small.png xo-web/dist/images/logo_small.png +fi + + +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