#!/bin/bash
+
+################################################################
+## Finals Club instance set up notes by Joe Snow 11/19/2011
+################################################################
+## these are the steps I take to create a new fc instance
+## log into aws, launch new AMI instance
+## ssh into machine
+## sudo to root
+## download and run boot.sh (this file -- either from s3 or ssh), this can take 10 minutes
+## NOTE: start.sh usually fails due to env vars, etc..
+## as ec2-user, run start.sh
+## add arbiter db config, and mongo replicated set config, import mongo data using mongorestore command
+## I usually create and grab the latest mongodb backup from S3 (created from existing live server)
+## add dev public keys to /home/ec2-user/.ssh/authorized_keys
+## update /home/ec2-user/.bashrc with AWS env vars
+## add /home/ec2-user/fc/fcbackup/.fcbackup.env (populated with AWS env vars)
+## restart fc app
+## add crontab, using fc/util/crontab-example.txt as example as needed.
+## update cloudwatch monitors for cpu, disk, etc..
+## as root, start epl monitor script in /home/ec2-user/fc/util/start-fc-epl-monitor.sh
+## check app health and switch DNS as desired
+################################################################
+
cd /root
if test ! -e "reset.sh" ; then
## optional arbiter start command
## mkdir -p /data/arbiterdb
## /usr/local/bin/mongod -v --dbpath /data/arbiterdb --port 27021 --rest --replSet finalsclubset &> /var/log/mongod-arbiter.log &
+
+ #### NOTE: the replicated set name could change or increment, for example we might be using finalsclubset4 instead of finalsclubset
+
+ ## example to set up new clean replicated set
+ ## as ec2-user
+ ## mongo ### start mongo cli util from bash prompt
+ ## > rs.initiate() ## init the replicated set (assumes you are starting a new clean replicated set)
+ ## > rs.addArb("ip-10-166-206-34:27021") ## assumes arbiter instance was started previously on specified port, IP for example only, use same machineID
+ ## > rs.status() ## confirm both instances are in set
fi
+
+
# install node
nodever="v0.4.10"
if test ! -e node-$nodever ; then
- curl http://nodejs.org/dist/node-$nodever.tar.gz > node-$nodever.tar.gz
- tar xzvf node-$nodever.tar.gz
- cd node-$nodever
- ./configure
- make
- make install
+ curl http://nodejs.org/dist/node-$nodever.tar.gz > node-$nodever.tar.gz
+ tar xzvf node-$nodever.tar.gz
+ cd node-$nodever
+ ./configure
+ make
+ make install
fi
# install npm
if test ! -e npm ; then
- git clone http://github.com/isaacs/npm.git
- cd npm
- sudo make install
- cd ..
+ git clone http://github.com/isaacs/npm.git
+ cd npm
+ sudo make install
+ cd ..
fi
npm install nodemon -g
echo "/root/reboot-restart.sh &> /var/log/fc-reboot-restart.log.txt &" >> /etc/rc.local
+## NOTE: each time, I've had to run this step manually, as the ec2-user, after env vars have been set up
+cd /home/ec2-user
curl https://s3.amazonaws.com/finalsclub.org/start.sh | sudo -u ec2-user sh