/[projects]/misc/xoa-installer/xoa-installer.sh
ViewVC logotype

Diff of /misc/xoa-installer/xoa-installer.sh

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2982 by torben, Sat Mar 19 08:24:48 2016 UTC revision 3180 by torben, Thu Dec 22 12:43:51 2016 UTC
# Line 1  Line 1 
1  #!/bin/bash  #!/bin/bash
2    
3    
4  # npm install -g npm@next  # Note: this script works on debian 7/wheezy and debian 8/jessie
5    #
6    # If running on a raspberry 1(A/B) raspian/wheezy - downgrade node.js to 5.4.0
7    # Please note that raspian/wheezy for arm defaults to gcc 4.6
8    # gcc 4.7 is needed for compiling node-js modules
9    
10    BRANCH=stable
11    
12    
13    ###################################
14    # Exit bash if a command fails
15    set -e
16    # also exit if a part of a pipe fails
17    set -o pipefail
18    
 #BRANCH=next-release  
 BRANCH=master  
19    
20    
21  function restartxo {  function restartxo {
# Line 18  if [ "$1" == "restart" ] ; then Line 29  if [ "$1" == "restart" ] ; then
29          exit          exit
30  fi  fi
31    
32    
33    phymem=$(free -m|awk '/^Mem:/{print $2}')
34    swapmem=$(free -m|awk '/^Swap:/{print $2}')
35    total=$(expr $phymem + $swapmem)
36    if [ $total -le 1536 ] ; then
37            echo not enough memory: $total
38            exit
39    fi
40    
41  if [ "$1" == "clean" ] ; then  if [ "$1" == "clean" ] ; then
42          echo cleaning xo-web          echo cleaning xo-web
43          rm -rf xo-web          rm -rf xo-web
44    
45    #       echo cleaning xo-web-v4
46    #       rm -rf xo-web-v4
47    
48          echo cleaning xo-server          echo cleaning xo-server
49          rm -rf xo-server          rm -rf xo-server
50    
# Line 37  if [ "$1" == "clean" ] ; then Line 60  if [ "$1" == "clean" ] ; then
60          echo cleaning .forever          echo cleaning .forever
61          rm -rf .forever          rm -rf .forever
62          rm -rf forever.log          rm -rf forever.log
63            
64    
65          echo done          echo done
66          exit          exit
# Line 54  if [ ! -x "/usr/bin/gcc" ] ; then Line 77  if [ ! -x "/usr/bin/gcc" ] ; then
77          apt-get install  build-essential || exit          apt-get install  build-essential || exit
78  fi  fi
79    
80    if [ ! -f "/usr/include/libpng12/png.h" ] ; then
81            echo "installing libpng"
82            apt-get install libpng12-dev || exit
83    fi
84    
85  if [ ! -x "/usr/bin/redis-server" ] ; then  if [ ! -x "/usr/bin/redis-server" ] ; then
86          echo "installing redis-server"          echo "installing redis-server"
87          apt-get install  redis-server || exit          apt-get install  redis-server || exit
# Line 61  fi Line 89  fi
89    
90  if [ ! -x "/usr/bin/git" ] ; then  if [ ! -x "/usr/bin/git" ] ; then
91          echo "installing git"          echo "installing git"
92          apt-get install git          apt-get install git || exit
93  fi  fi
94            
95    
96  if [ ! -x "/usr/local/bin/n" ] ; then  if [ ! -x "/usr/local/bin/n" ] ; then
97          echo "installing node.js bootstrap"          echo "installing node.js bootstrap"
# Line 78  fi Line 106  fi
106    
107  if [ ! -x "/usr/local/bin/gulp" ] ; then  if [ ! -x "/usr/local/bin/gulp" ] ; then
108          echo "installing gulp"          echo "installing gulp"
109          npm install -g gulp          npm install -g gulp || exit
110  fi  fi
111    
112  if [ ! -x "/usr/local/bin/forever" ] ; then  if [ ! -x "/usr/local/bin/forever" ] ; then
113          echo "installing forever"          echo "installing forever"
114          npm install -g forever          npm install -g forever || exit
115  fi  fi
116    
117  if [ ! -x "/usr/local/bin/node-gyp" ] ; then  if [ ! -x "/usr/local/bin/node-gyp" ] ; then
118          echo "installing node-gyp"          echo "installing node-gyp"
119          npm install -g node-gyp          npm install -g node-gyp || exit
120  fi  fi
121    
122  if [ ! -d "/usr/local/lib/node_modules/bcrypt" ] ; then  if [ ! -d "/usr/local/lib/node_modules/bcrypt" ] ; then
123          echo "installing bcrypt"          echo "installing bcrypt"
124          npm install -g bcrypt          npm install -g --unsafe-perm bcrypt || exit
125  fi  fi
126    
127  if [ ! -d "xo-web" ] ; then  if [ ! -d "xo-web" ] ; then
# Line 104  else Line 132  else
132          cd ..          cd ..
133  fi  fi
134    
135    #if [ ! -d "xo-web-v4" ] ; then
136    #       git clone -b $BRANCH https://github.com/vatesfr/xo-web.git xo-web-v4
137    #       cd xo-web-v4
138    #       git checkout tags/v4.16.0
139    #       cd ..
140    #fi
141    
142  if [ ! -d "xo-server" ] ; then  if [ ! -d "xo-server" ] ; then
143          git clone -b $BRANCH https://github.com/vatesfr/xo-server.git          git clone -b $BRANCH https://github.com/vatesfr/xo-server.git
# Line 117  fi Line 151  fi
151  # xo-server  # xo-server
152  echo "building xo-server"  echo "building xo-server"
153  cd xo-server  cd xo-server
154  npm install || exit          npm install || exit
155  npm run build || exit          npm run build || exit
156    
157            #for some reasone leveldown  fails occasionally on arm/raspberry pi
158            if [ ! -d "/root/xo-server/node_modules/leveldown/build" ] ; then
159                    pushd node_modules/leveldown
160                    node-gyp configure || exit
161                    node-gyp build || exit
162                    popd
163            fi
164  cd ..  cd ..
165    
166    
167    
168  #xo-web  #xo-web
169  echo "building xo-web"  echo "building xo-web"
170  cd xo-web  cd xo-web
171  npm install --unsafe-perm || exit          #npm install --unsafe-perm || exit
172  npm run build || exit          npm install || exit
173            npm run build || exit
174  cd ..  cd ..
175    
176  restartxo  ##xo-web-v4
177    #echo "building xo-web-v4"
178    #cd xo-web-v4
179    #       npm install || exit
180    #       npm run build || exit
181    #cd ..
182    
183    
184    
185    #if [ ! -f xo-web/dist/styles/main.css ] ; then
186    #       mkdir xo-web/dist/styles
187    #       mkdir xo-web/dist/images
188    #
189    #       cp xo-web-v4/dist/styles/main.css xo-web/dist/styles/main.css
190    #       cp xo-web-v4/dist/images/logo_small.png xo-web/dist/images/logo_small.png
191    #fi
192    
193    
194    if [ ! -f "/etc/xo-server/config.yaml" ] ; then
195            if  [ ! -d "/etc/xo-server" ] ; then
196                    mkdir /etc/xo-server
197            fi
198    
199            echo "please setup /etc/xo-server/config.yaml"
200            exit
201    fi
202    
203    echo Installing plugins
204    npm install --global xo-server-transport-email
205    npm install --global xo-server-transport-xmpp
206    npm install --global xo-server-backup-reports
207    
208    #npm install --save xo-server-usage-report
209    
210    
211    #restartxo
212    
213    

Legend:
Removed from v.2982  
changed lines
  Added in v.3180

  ViewVC Help
Powered by ViewVC 1.1.20