Test Post

I'm using this blog basically as an excuse to join the modern web era and learn Docker and cloud hosting platforms.

This blog is running on an Azure VM (a very small one) running Ubuntu and the Ghost blog platform, using Docker.

I'm starting with the default configuration provided by Azure, which is pretty nice, and works nearly out of the box. All I had to do was change the server address, because Ghost by default thinks it lives at :)

I'm using Azure because as a Microsoft employee, I get a bunch of free Azure resources, so I can spin up and tear down virtual machines quite a bit before I have to pay anything.

As a future goal for this project, I want to try and use CoreOS, which sounds like a really interesting thing. It sounds like a Linux distro basically built like a series of Docker containers.


I realized another thing lacking in the default Ghost install is HTTPS support. It's 2016; HTTPS should be a requirement, even for a silly blog like this.

Simple solution:

wfraser@fraserbloghost:~$ apt-get install nginx

Copy the Codewise.org wildcard SSL certificate and key from my main VPS...

wfraser@fraserbloghost:~$ sudo vim /etc/nginx/sites-enabled/default

Configure NGINX to listen on [::]:443 and forward to Delete everything in the file and replace it with:

server {
    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;
    ssl_certificate wildcard.crt;
    ssl_certificate_key wildcard.key;
    server_name _;
    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;

Then reconfigure Ghost to use the https://... URL as its default, and it's done!