Deploy Meteor on EC2 (or your own server)
How to install and update
The easiest way to install (or update)
meteoric is using curl:
$ curl -s https://raw.githubusercontent.com/julien-c/meteoric.sh/master/install | sh
You may need to
sudo in order for the script to symlink
meteoric to your
How to use
Create a conf file named
meteoric.config.sh in your project's folder, setting the following environment variables:
# IP or URL of the server you want to deploy to APP_HOST=meteor.julien-c.fr # If you want a different ROOT_URL, when using a load balancer for instance, set it here #ROOT_URL=mycustom.url.com # Comment this if your host is not an EC2 instance EC2_PEM_FILE=~/.ssh/proxynet.pem # What's your project's Git repo? GIT_URL=git://github.com/SachaG/Microscope.git # Does your project use meteorite, or plain meteor? METEORITE=true # If not using Meteorite, you need to specify this METEOR_RELEASE=0.6.4 #If you have an external service, such as Google SMTP, set this #MAIL_URL=smtp://USERNAME:PASSWORD@smtp.googlemail.com:465 # What's your app name? APP_NAME=microscope # If your app is not on the repository root, set this APP_PATH=. # If you would like to use a different branch, set it here GIT_BRANCH=master # Kill the forever and node processes, and deletes the bundle directory and tar file prior to deploying FORCE_CLEAN=false # If you want to do something before forever starts Meteor, you can do it here # NOTE: Don't forget to use a semi-colon at the end of every command #PRE_METEOR_START="export ENVIRONMENT=prod;"
Then just run:
$ meteoric setup $ meteoric deploy
If you'd like to use a different location for meteoric.config.sh, supply it as a second parameter:
$ meteoric setup /path/to/your.config.sh $ meteoric deploy /path/to/your.config.sh
- Ubuntu 13.04
- Ubuntu 12.10
Hat tip to @netmute for his meteor.sh script. In our case though, we think having to rebuild native packages like
fibers kind of defeats the whole point of bundling the Meteor app. Additionally, our approach enables hot code fixes (you don't have to stop/start your node server, and your users' apps shouldn't be disrupted).
This script is also based on this previous post: How to deploy Meteor on Amazon EC2.