Spinning Up a Ghost Docker Container in Reclaim Cloud

Reclaim Hosting is planning on using Ghost to power our monthly newsletters starting this month, so Pilot has been exploring installing it on Reclaim Cloud using the Marketplace app. Turns out it was out-of-date and not so easy to update, so we explored getting Ghost Docker image running in the Cloud using Docker Engine, which Pilot documented brilliantly on their blog. Turns out it might even be easier to install Ghost using Docker Hub on Reclaim Cloud, so the following video and guide will take you through that process.

So, in Reclaim Cloud you can create a New Environment:

After that, make sure you are on the Docker tab and click on “Select Image”:

Optionally, you can also rename the environment subdomain to something a bit more user-friendly:

After that you will be given a dialogue box with a search bar to find containers on Docker Hub. Type in “Ghost,” and the first option is the official image, which is recommended:

After that select the topmost Ghost image:

Then click “Next” and the Docker container will be selected. After that you want to ensure the public IP address is not selected for this container, and you can also choose from one of four regions to install to:

Once the Ghost container is set, you will need to add a Load balancer, which will enable the instance to have a Let’s Encrypt certificate for mapped domains. This environment will also have contain the public IP address, so be sure to turn that option on:

After that you can click Apply and the environment will be spun-up.

Once the environment is spun up, you will need to do two things. First, point an A record for the domain you want to map to the environments public IP address. I did this through my DNS settings in Cloudflare, and you can see it below:

After that, you will need to go to the Add-Ons icon for the Load Balancer container and configure the SSL certificate through Let’s Encrypt:

Once that is done you should be able to load Ghost at the mapped domain you specificed:

To configure Ghost you would need to go to yourdomain.com/ghost –good luck!

Restarting a Discourse Container

We have a server that runs a kind of multisite Discourse environment that I discussed a number of years ago in this post. It is an Ubuntu server with Docker installed, and each of the Discourse instances on that server are spun up in Docker containers. It’s a very small, experimental part of what we do. In fact, we discontinued offering Discourse and Ghost in this kind of environment  a while back, and are far more interested in options like Cloudron, which makes hosting Ghost a breeze. That said, we have a couple of Discourse instances we still host and today the biggest one went down, which is always a bit of a scare for me given it is a unique environment. So, this post is simply going to retrace my steps in terminal to fix this because I always forget given it is not something I do often enough.

When I learned the server was down I figured I would try stopping and restarting the Container to see if that works. To do that I needed to go to var/discourse:

cd /var/discourse

From there, I tried to stop the container (to find the container name I looked in the /var/discourse/containers/ directory which has all the YAML files for each install, and the container names are everything before the .yml extension.

./launcher stop containername

That will stop the container and the following will restart it:

./launcher start containername

But when I went to stop the container I got the a storage full error, and when I ran a

df -h

on the server it was confirmed, the disk was full. I then proceeded to run the trusty NCDU command to get a sense of what was taking up all the space, and I have a suspicion it might be related to this overlay2 storage space issue others have complained about with Docker, but I took the easy route and deleted 10 GBs of old backups for the site and it was immediately back up and running. In the end a restart was not necessary, and I was able to solve a fairly random issue fairly quickly. 

Trying to Contain my Excitement (and workload) for OWLTEH

via GIPHY

In just under three weeks the free, one-day event Learning on/with the Open Web (OWLTEH) will be happening in Coventry. It should prove a lot of fun, and you can get a sense of some of the talks happening here (that site nicely highlighting the value of the TRU Writer SPLOT). I am planning on doing a workshop with Lauren Heywood and Daniel Villar-Rubio on SPLOTs as well as convening a presentation/panel with Anne-Marie Scott and Tony Hirst in which we talk a bit about the open web for teaching and learning at the level of the infrastructure. I pushed out an abstract here, but this is still a work in progress:

The emergence of an abstracted, containerized infrastructure for the open web poses all sorts of questions about the future. Focusing on everything from the shift from RSS to APIs, the rise of containers, and the talk of “serverless” stack, this panel will attempt to explain these developments and make sense of what open web infrastructure could look for higher education in the near future.

Probably needs some work, but that’s the least of my worries. I am in the middle of trying to get a Windows 95 boot emulated on a mid-90s computer and even creating a local area network to reproduce sites from circa 1995. We’ll see how that goes, and also I am in need of some 90s websites if you have an idea or two submit them here for the Teaching and Learning on the 90s Web Exhibit, submissions here please ?

I’m gonna have a busy weekend, I am in over my head! 

css.php