arthurd2

Rocket Chat Install

Apr 1st, 2017
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.91 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. URL='chat.nute.ufsc.br'
  4. export DOWNLOAD='https://rocket.chat/releases/latest/download'
  5. export INSTANCIA='chat'
  6. PORT=3040
  7.  
  8. # INSTALACAO
  9. sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
  10. echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
  11. sudo apt-get update
  12. sudo apt-get install -y mongodb-org curl graphicsmagick npm  nodejs supervisor
  13. sudo npm install -g n
  14. sudo n 0.10.40
  15.  
  16. deploy(){
  17.     cd
  18.     curl -L $DOWNLOAD -o rocket.chat.tgz
  19.     tar zxfv rocket.chat.tgz
  20.     rm rocket.chat.tgz
  21.     cd bundle/programs/server
  22.     npm install
  23.     cd
  24.     rm -fR "$INSTANCIA"
  25.     mv bundle "$INSTANCIA"
  26. }
  27. export -f deploy
  28. supervisorctl stop $INSTANCIA
  29. su rocketchat -c "bash -c deploy "
  30.  
  31. echo "#
  32. [program:${INSTANCIA}]
  33. directory = /home/rocketchat/$INSTANCIA/
  34. user = rocketchat
  35. command = /usr/bin/node main.js
  36. autostart=true
  37. autorestart=true
  38. redirect_stderr=true
  39. stdout_logfile = /var/log/supervisor/$INSTANCIA.log
  40. stderr_logfile = /var/log/supervisor/${INSTANCIA}_error.log
  41. environment=HOME='/home/rocketchat',MONGO_URL='mongodb://127.0.0.1:27017/${INSTANCIA}',MONGO_OPLOG_URL='mongodb://127.0.0.1:27017/local',PORT='${PORT}',HOST='${URL}',ROOT_URL='http://${URL}/'" > /etc/supervisor/conf.d/${INSTANCIA}.conf
  42.  
  43. /etc/init.d/supervisor stop
  44. sleep 2
  45. /etc/init.d/supervisor start
  46. sleep 2
  47.  
  48. supervisorctl status
  49.  
  50. tail -n 20 /var/log/supervisor/$INSTANCIA.log
  51. echo tail -f /var/log/supervisor/$INSTANCIA.log
  52.  
  53. echo "
  54. upstream $INSTANCIA          {server 150.162.3.80:$PORT;}
  55.  
  56. server {
  57.        listen 80;
  58.        server_name $URL;
  59.        location /
  60.        {
  61.                allow   150.162.0.0/16;
  62. #               deny    all;
  63.                access_log  /var/log/nginx/$INSTANCIA-access-pma.log cache ;
  64.                include "include/proxy.opts";
  65.                proxy_pass  http://$INSTANCIA;
  66.        }
  67. }"
Advertisement
Add Comment
Please, Sign In to add comment