This tutorial will cover launching an EC2 instance, setting up the Node.js/MongoDB stack, and keeping your app running as a service so that it is resilient to failure. Most everything is taken directly from the official documentation for the various packages, and I included links. That way you can refer to the tutorial as a general guide, and still use official documentation to get into the nitty-gritty details.
The way Octopress deploys to Github Pages is a little funky. When you setup your blog for deployment to Github Pages, a second copy of the repo is instantiated in ./_deploy, and is checked out to the master branch.
You create and edit posts in the source branch, in your project root. During deployment, your site gets generated, and the updates copied to _deploy. From there, a commit is made to master, and a git push is performed, updating the website.
When you clone your blog to a different computer, you need to make sure it is setup in the same way, like so:
# Assuming that you have your Ruby environment configured$ git clone -b source firstname.lastname@example.org:username/username.github.io.git username.github.io
$ cd username.github.io
$ git clone -b master email@example.com:username/username.github.io.git _deploy
$ bundle install