Skip to content

Instantly share code, notes, and snippets.

@Voronchuk
Created October 9, 2014 07:23
Show Gist options
  • Save Voronchuk/939d99d66aeb148b0ed9 to your computer and use it in GitHub Desktop.
Save Voronchuk/939d99d66aeb148b0ed9 to your computer and use it in GitHub Desktop.
Sample script to deploy Meteor site from local machine to Ubuntu hosting
#! /bin/sh
# First argument is the name of .json file with settings for this site
export PROJECT_DIR=~/Dropbox/Projects/starbuildr
export PROJECT_NAME=starbuildr
export SERVER_DIR=/home/web/starbuildr
export SSH_HOST=$1
export SSH_USER=web
export SERVICE_NAME=$1
cd $PROJECT_DIR
rm -f "$PROJECT_NAME.tar.gz"
meteor build .
ssh -t -t "$SSH_USER@$SSH_HOST" "rm -rf $SERVER_DIR"
ssh -t -t "$SSH_USER@$SSH_HOST" "mkdir $SERVER_DIR"
scp "$PROJECT_DIR/$PROJECT_NAME.tar.gz" "$SSH_USER@$SSH_HOST:$SERVER_DIR/"
scp "$PROJECT_DIR/$1.json" "$SSH_USER@$SSH_HOST:$SERVER_DIR/"
scp "$PROJECT_DIR/start.sh" "$SSH_USER@$SSH_HOST:$SERVER_DIR/"
ssh -t -t "$SSH_USER@$SSH_HOST" "cd $SERVER_DIR && tar -zxf $PROJECT_NAME.tar.gz"
ssh -t -t "$SSH_USER@$SSH_HOST" "mv $SERVER_DIR/$1.json $SERVER_DIR/settings.json"
ssh -t -t "$SSH_USER@$SSH_HOST" "cd $SERVER_DIR/bundle/programs/server && npm install"
# Fix for Mac OS bcrypt version
ssh -t -t "$SSH_USER@$SSH_HOST" "cd $SERVER_DIR/bundle/programs/server/npm/npm-bcrypt && npm install bcrypt"
ssh -t -t "$SSH_USER@$SSH_HOST" "forever stop --silent $SERVER_DIR/bundle/main.js"
ssh -t -t "root@$SSH_HOST" "start $SERVICE_NAME"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment