Last active
October 21, 2015 19:40
-
-
Save ducke/006d735fe0d628680a6b to your computer and use it in GitHub Desktop.
Deploy rocket.chat
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#https://github.com/RocketChat/hubot-rocketchat | |
# SYSTEM CONFIGURATION | |
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 | |
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 | |
apt-get update | |
apt-get install -y git nodejs npm mongodb-org curl | |
ln -s /usr/bin/nodejs /usr/bin/node | |
npm install nave -g | |
nave usemain 0.10.40 | |
curl https://install.meteor.com/ | sh | |
npm install pm2 -g | |
pm2 startup | |
# mongod.conf -- NO TAB -- | |
replication: | |
replSetName: "001-rs" | |
# add hostname to /etc/hosts | |
$ mongo | |
> rs.initiate() | |
HOST=http://rocketchat | |
MONGO_URL=mongodb://localhost:27017/rocketchat | |
MONGO_OPLOG_URL=mongodb://localhost:27017/local | |
ROOT_URL=http://localhost:3000 | |
PORT=3000 | |
mkdir -p /var/www/ | |
mkdir -p /var/log/rocket.chat | |
cd /var/www/ | |
wget https://github.com/RocketChat/Rocket.Chat/archive/master.tar.gz | |
tar -xvzf master.tar.gz | |
mv Rocket.Chat-master rocket.chat | |
cd ./rocket.chat | |
meteor build --server "$HOST" --directory . | |
cd ./bundle/programs/server | |
npm install | |
cd ../.. | |
rm -f pm2-rocket-chat.json | |
echo '{' > pm2-rocket-chat.json | |
echo ' "apps": [{' >> pm2-rocket-chat.json | |
echo ' "name": "rocket.chat",' >> pm2-rocket-chat.json | |
echo ' "script": "/var/www/rocket.chat/bundle/main.js",' >> pm2-rocket-chat.json | |
echo ' "out_file": "/var/log/rocket.chat/app.log",' >> pm2-rocket-chat.json | |
echo ' "error_file": "/var/log/rocket.chat/err.log",' >> pm2-rocket-chat.json | |
echo " \"port\": \"$PORT\"," >> pm2-rocket-chat.json | |
echo ' "env": {' >> pm2-rocket-chat.json | |
echo " \"MONGO_URL\": \"$MONGO_URL\"," >> pm2-rocket-chat.json | |
echo " \"MONGO_OPLOG_URL\": \"$MONGO_OPLOG_URL\"," >> pm2-rocket-chat.json | |
echo " \"ROOT_URL\": \"$ROOT_URL\"," >> pm2-rocket-chat.json | |
echo " \"PORT\": \"$PORT\"" >> pm2-rocket-chat.json | |
echo ' }' >> pm2-rocket-chat.json | |
echo ' }]' >> pm2-rocket-chat.json | |
echo '}' >> pm2-rocket-chat.json | |
pm2 start pm2-rocket-chat.json | |
pm2 save | |
sudo chown -R $USER:$GROUP ~/.npm | |
# init.d hubot | |
#http://kvz.io/blog/2012/11/20/installing-hubot-on-ubuntu/ | |
$ cat <<EOF > /etc/init/hubot.conf | |
description "Hubot Rocket.chat bot" | |
# Rocket.chat-specific environment variables. Change these: | |
env ROCKETCHAT_ROOM=GENERAL | |
env ROCKETCHAT_USER=bot | |
env ROCKETCHAT_PASSWORD=bot | |
# Subscribe to these upstart events | |
# This will make Hubot start on system boot | |
start on filesystem or runlevel [2345] | |
stop on runlevel [!2345] | |
# Path to Hubot installation | |
env HUBOT_DIR='/hubot/' | |
env HUBOT='bin/hubot' | |
env ADAPTER='rocketchat' | |
env HUBOT_USER='hubot' # system account | |
env HUBOT_NAME='hubot' # what hubot listens to | |
env PORT='5555' | |
# Keep the process alive, limit to 5 restarts in 60s | |
respawn | |
respawn limit 5 60 | |
exec start-stop-daemon --start --chuid \${HUBOT_USER} --chdir \${HUBOT_DIR} \ | |
--exec \${HUBOT_DIR}\${HUBOT} -- --name \${HUBOT_NAME} --adapter \${ADAPTER} >> /var/log/hubot.log 2>&1 | |
EOF |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment