This is a blog post written using Ghost... BOO!
Not sure what I am going to do with this yet, but its here!


Overall my thoughts on Ghost so far: impressive project; looking forward to more themes being created; really looking forward to seeing what this team does in the coming year.

Getting all set up was pretty straight forward so I will try to summarize what it took below.

Create a virtual machine

  1. I really like Digital Ocean more and more. The guys at Digital Ocean are building a solid cloud hosting product using SSD tech so I went with them. Did I mention that the base box costs $5/month!?! Its really simple to get started. I setup a SSD cloud box with 512MB of RAM and 20GB HDD space in 2 min.

  2. I created a user for myself to work with that has sudo privilages.

Install Node + NPM + Forever

  1. Node: I used a package manager. Find instructions on how to here. Depending on your version of Ubuntu (or whatever you roll) you might need this:
    sudo apt-get install software-properties-common

  2. NPM: Depending on the version of node you install you might get npm for free when you install node. If not you should be able to tack on this after installing node:
    sudo apt-get install npm

  3. Forever: I am using forever to keep the node process that runs Ghost alive. To install Forever:
    [sudo] npm install forever

  4. Make sure all this worked. Try out:
    node -v
    forever --help

Download Ghost

Right now you need to be a backer of the Ghost kickstarter project to download the source code. I'm not how strict the Ghost team is about sharing the source code right now, but if you are interested in getting an early copy, email me here and I will inquire if its kosher on your behalf.

Once you have downloaded the source:
1. unzip what you downloaded. duh.
2. cd into the ghost directory.
3. To start ghost all you need to do is run:
npm install --production
but to get this puppy up and running for the world to see you must...

Install NGINX

sudo apt-get install nginx
Now to proxy things correctly (a little more challenging, probably the hardest part of all this)**:

# /etc/nginx/nginx.conf
http {
    include sites-enabled/*.conf;

# /etc/nginx/sites-enabled/ghost.conf
upstream nodejs {

server {
    server_name {yourservername.tld};
    root /path/to/ghost;

    access_log /path/to/ghost/access.log;
    error_log /path/to/ghost/error.log;

    location / {
        proxy_pass http://nodejs;

Reload + restart nginx: sudo service nginx restart and you should be good to go!

I have a domain,, pointed to this new box so the server name in the above code block points there. Bing, bang, boom, My ghost blog is live.

Now, the question, what to do with and how to transfer whats there to here!

** credit for this config goes to this post in the ghost forum.