How to set up a blog in Microsoft Azure using Ghost. Optionally, add on a custom domain name and SSL encryption using Let’s Encrypt.
WHY GHOST?#
I was looking for an easy-to-manage solution for blogging and stumbled upon Gareth Emslie’s post about running Ghost Blog in containers on Azure App Service. Just a few clicks and the blog was up and running.
PREREQUISITES#
You’ll need an Azure Subscription, a Storage account and Docker running on your local machine.
Hosting Ghost in a container on Azure comes at a price. My setup with Azure App Service running Standard Tier ($71), an Azure Container Registry on Basic Tier ($5) sets me back approximately $76 a month. Oh, and it will be able to host a slew of other containers.
With Azure Container Registry CI/CD is built in. I’m using Azure DevOps to host my repository. The deployment happens whenever I push an update to the container in my registry.
CUSTOM DOMAINS#
For this blog I set up a couple “A” records and “TXT” records with my domain registrar and configured settings in the Azure Portal. Mapping a Custom Domain Name
SSL ENCRYPTION#
Note: As of publication you will need to bring your own SSL certificate. Linux App Services currently do not support webjobs so Let’s Encrypt automation won’t work directly.
Resources:
- Troy Hunt: Everything you need to know about loading a free Let’s Encrypt certificate into an Azure website
- Azure Docs: Setting up Azure AD
- Setting Up Let’s Encrypt for Ghost
CONCLUSION#
That pretty much wraps it up. If you have any questions please leave a comment or send me a Tweet.
