--- misc/xoa-installer/xoa-installer.sh 2016/12/20 17:45:18 3177 +++ misc/xoa-installer/xoa-installer.sh 2018/04/11 12:44:28 3226 @@ -5,10 +5,13 @@ # # 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 +# gcc 4.7 is needed for compiling node-js modules +# 2017-01-03 gcc 4.8 is required BRANCH=stable +#Uncomment next line if you want to trick into building enterprise version +#export XOA_PLAN=4 ################################### # Exit bash if a command fails @@ -19,24 +22,24 @@ -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 +phymem=$(free -m|awk '/^Mem:/{print $2}') +swapmem=$(free -m|awk '/^Swap:/{print $2}') +total=$(expr $phymem + $swapmem) +if [ $total -le 1536 ] ; then + echo not enough memory: $total exit fi if [ "$1" == "clean" ] ; then + echo cleaning global npm packages + npm uninstall -g gulp + npm uninstall -g node-gyp + npm uninstall -g bcrypt + npm uninstall -g yarn + 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 @@ -49,11 +52,6 @@ echo cleaning .cache rm -rf .cache - echo cleaning .forever - rm -rf .forever - rm -rf forever.log - - echo done exit fi @@ -93,103 +91,59 @@ 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 + n lts || exit fi -if [ ! -x "/usr/local/bin/forever" ] ; then - echo "installing forever" - npm install -g forever || exit -fi +#if [ ! -x "/usr/local/bin/gulp" ] ; then +# echo "installing gulp" +# npm install -g gulp || exit +#fi -if [ ! -x "/usr/local/bin/node-gyp" ] ; then - echo "installing node-gyp" - npm install -g node-gyp || exit +if [ ! -x "/usr/local/bin/yarn" ] ; then + echo "installing yarn" + npm install -g yarn || 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 [ ! -x "/usr/local/bin/node-gyp" ] ; then +# echo "installing node-gyp" +# npm install -g node-gyp || exit +#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 .. +#if [ ! -d "/usr/local/lib/node_modules/bcrypt" ] ; then +# echo "installing bcrypt" +# npm install -g --unsafe-perm bcrypt || exit #fi -if [ ! -d "xo-server" ] ; then - git clone -b $BRANCH https://github.com/vatesfr/xo-server.git + + +if [ ! -d "xen-orchestra" ] ; then + git clone -b $BRANCH https://github.com/vatesfr/xen-orchestra.git else - cd xo-server + cd xen-orchestra 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 install || exit - npm run build || exit +# xo-server +echo "building xen-orchestra" +cd xen-orchestra + yarn + yarn build cd .. -##xo-web-v4 -#echo "building xo-web-v4" -#cd xo-web-v4 -# npm install || exit -# npm run build || exit -#cd .. - -#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 - +dir=`dirname $0` 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 + copy $dir/config.yaml /etc/xo-server/config.yaml fi echo Installing plugins