I spent the past weekend messing around with Python and a couple of libraries to automate the deployment of droplets to Digital Ocean. The two libraries that I used are python digitalocean and fabric. Python digitalocean opens up the Digital Ocean API to python developers with easy to use functions. Fabric provides a way of connecting to a remote server and issuing various commands, so the combination of the two make for a great automation framework. The script I wrote, uses the python_digitalocean library to first provision the droplet and returns the IP. Then fabric is used to carry out several first time administration tasks that I do when first creating a server.

I have a gitlab instance set up to host my own git repositories. It is a pretty handy app, you get the features of github, but without having someone else holding your code.

I keep the theme for this website as a git repository and wanted to automatically deploy new changes once they are pushed to the master branch. Luckily, gitlab has a webhooks feature, it will call any URL you specify and send a JSON request after every receive.

Serving Ghost with Apache

Ghost is a great blogging platform built with node.js. It is what I use to run this blog. Most of the instructions online deal with using NGINX to proxy requests to and from the running node instance. I needed to use Apache, since the server I installed on already has Apache. This guide will show you how to set up proxy pass on Apache.

Getting Started

You should already have these prerequisites installed: