I've signed up to Digital Ocean, for shiner-than-shiny SSD cloud hosting, and to install my Ghost blog themes.  Read on to find out how I did it.

About Digital Ocean

Digital Ocean is offering SSD cloud servers with deployment in 55 seconds.  Let's take a look.

Update: Digital Ocean have given me a referral code so you can get a 10$ starter credit and check out the platform: You'll see Digital Ocean is pretty slick hosting for free, and I'll get some credit too for the referral ("everyone's a winner baby, that's the truth").  Click here for the sign up with credit.

Sign up

Sign up is Simple (capital S), email and password pushes you through to the dashboard where you can snoop around and set up billing for running a "Droplet" as they call their instances.  Payment can be made with Credit Card or Paypal.

Create Droplet

  1. Create an instance through a Droplet.  You will need to:
  2. Choose a Hostname (your own reference, probably your app name)
  3. Select a Size: I chose the basic instance to get started.
  4. Choose a region: I left the default.
  5. Choose an Instance: You can choose a clean instance of many Linux distributions.  I rolled with the default, a Ubuntu 12.04.3 x64 dist.
  6. Install a base application: The instance can come setup with some standard apps - WordPress, Ghost, Ruby and others.  My objective is to use Digital Ocean to run my Ghost blog themes, so I'm pretty pleased this comes "pre-rolled" and happy to note that it's the latest version (0.4.0 at time of writing).
  7. Finally Enable Settings VirtIO was ticked, so, I'll just accept that for now.

And away we go

The droplet is created, the root password is emailed to me and I'm off.  All-in-all it's been a very smooth process: very simple and with perfect "mothering" through the setup.

Navigating to my new IP: Lo! Ghost is installed and up and running - minimum effort, maximum enjoyment.

SSH

Having received my account email with instructions I'm already logged into to my new Ubuntu server through SSH.  An awe-inspiringly simple setup.  Checking the ls I see NPM and Node already installed, along with Forever and other utils.  Awesome!  Navigate to your IP and laugh.

Configure Ghost to run through your own Domain Name

You'll probably want to use one of your own domain names: Digital Ocean doesn't provide domain registration (yet) but they do offer domain management (DNS) - so you'll need to:

  1. Change the name-server settings on your domain registrar to use the Digital Ocean name-servers (which are ns1.digitalocean.com & ns2.digitalocean.com) and then,
  2. Setup your records within the Digital Ocean control panel.  Open the DNS menu from your control panel, and click Add Records.  You will be asked for a Name and an IP and to which instance you wish these to me mapped:  (see below for completed screenshot).

do-dns

Navigate (after propagation) to your domain name and you should be crying with happiness.  If not - er... try again.

Optional Mail Setup with Mailgun

In order to finish setting up Ghost (server side) we need to configure the mailing settings.  The initial configuration of Ghost is not setup with mailing capability, so we need to sign up to a mailing service. Mailgun is recommended, and free at first so let's roll with that.  Go to Mailgun to open your account and add your domain.

Domain Verification

In order for it to work properly you will need to verify your domains by adding some TXT records.  Open your Digital Ocean DNS panel, and also open the Domains tab in your Mailgun account.

Create a DNS TXT record for each of the two records shown in Mailgun -> Domains under the header DNS Records for Sending.

More info on adding tracking and MX records  can be found on the Mailgun help page.

Update Ghost config.js

From your Mailgun account, take the SMTP Authentication details from your Domains dashboard and use them in the Mail section of Ghost config.js file (var/www/ghost/config.js).  And check to make sure it's in the production section, and development if you want to.

Links

Hostnames: For more detail see the How to Setup a Host Name On Digital Ocean article I drew this information from.

Ghost: Much of the above is also covered from the Ghost angle by Hannah Wolfe (of Ghost fame) herself through the following Digital Ocean article.

Mailgun: To setup Mailgun