/[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 2957 by torben, Mon Feb 29 09:39:36 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
67  fi  fi
68    
69    
70    if [ ! -x "/usr/bin/curl" ] ; then
71            echo "installing curl"
72            apt-get install curl || exit
73    fi
74    
75    if [ ! -x "/usr/bin/gcc" ] ; then
76            echo "installing build-essential"
77            apt-get install  build-essential || exit
78    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
86            echo "installing redis-server"
87            apt-get install  redis-server || exit
88    fi
89    
90    if [ ! -x "/usr/bin/git" ] ; then
91            echo "installing git"
92            apt-get install git || exit
93    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"
98          curl -o /usr/local/bin/n https://raw.githubusercontent.com/visionmedia/n/master/bin/n || exit          curl -o /usr/local/bin/n https://raw.githubusercontent.com/visionmedia/n/master/bin/n || exit
# Line 52  fi Line 101  fi
101    
102  if [ ! -x "/usr/local/bin/node" ] ; then  if [ ! -x "/usr/local/bin/node" ] ; then
103          echo "installing node.js"          echo "installing node.js"
104          n stable          n stable || exit
105  fi  fi
106    
107    if [ ! -x "/usr/local/bin/gulp" ] ; then
108            echo "installing gulp"
109            npm install -g gulp || exit
110    fi
111    
112    if [ ! -x "/usr/local/bin/forever" ] ; then
113            echo "installing forever"
114            npm install -g forever || exit
115    fi
116    
117    if [ ! -x "/usr/local/bin/node-gyp" ] ; then
118            echo "installing node-gyp"
119            npm install -g node-gyp || exit
120    fi
121    
122    if [ ! -d "/usr/local/lib/node_modules/bcrypt" ] ; then
123            echo "installing bcrypt"
124            npm install -g --unsafe-perm bcrypt || exit
125    fi
126    
127  if [ ! -d "xo-web" ] ; then  if [ ! -d "xo-web" ] ; then
128          git clone -b $BRANCH https://github.com/vatesfr/xo-web.git          git clone -b $BRANCH https://github.com/vatesfr/xo-web.git
# Line 65  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 76  fi Line 149  fi
149    
150    
151  # xo-server  # xo-server
152    echo "building xo-server"
153  cd xo-server  cd xo-server
154  npm install --unsafe-perm || 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"
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.2957  
changed lines
  Added in v.3180

  ViewVC Help
Powered by ViewVC 1.1.20