So we had a Docker night to get back to the topic of containerization.
I have wanted to get back to containers as a working topic for a while, but had no good example to work with. Building demo environments are great for covering the basics, but it never gets beyond “Look what we can do” to a practical usage case for the group.
During my search for a useful project, I found a small tutorial on getting an environment up and running using a Docker container, Docker, Hugo, and Asciidoctor to create a website with Asciidoc based posts. Since this is effectively what I wanted to do back when I was using Pelican1 for the site. It might help solve the lingering things I wanted to work out post conversion as well.
The idea is that I can use it as the basis of creating the appropriate Dockerfile and docker-compose configuration to reliably let me rebuild the development environment any time I want. The added bonus is that it is a practical example of using containers and someone else in the group may utilize it as well.
I used a portion of the tutorial as a basic start to get people up to a known point with a container and do a basic hugo website. Now that we all have a working environment, we will develop the more complex build in a future talk, probably in August. I’ll probably need to get spend some time on the internals as to why containers are a better fit for this kind of project as well.
Why Hugo? Well, I went to Hugo after having a failed Pelican update that broke my workflow and after making multiple attempts at repair, it never performed reliably again. I should have saved the environment prior to the upgrade, or at least had everything in a repository so I could back out easily. I did not do that and paid the price. After a long period of not wanting to deal with the issues, I managed to get it converted to Hugo and changed to a simpler theme. Since Hugo is portable and is just the generator, I have higher hopes that it will continue to work as expected and will not die on me in a horrible fashion.
I have been generating this site directly from my notebook for a little while now, first with with a local Hugo install, then using Vagrant to generate it, and now I’m trying a Docker container.
This is a bit of an experiment, but it is part of a plan to have the environment isolated from my notebook, as I’m planning on changing that out soon and changing my OS as well. Rather than have to rebuild the environment, I’ll take advantage of the container and have it “Just work” regardless of where it sits. The working directory for the site maps directly to my local git repository that holds the content and so far it has been working as expected. I need to see if the ipython notebook portion is still operational and I need to play with improving the asciidoc HTML portions, but other than that, I’m pleased so far.
There will be a github or gitlab repo when all is completed, so I can’t lose my notes or environment if something happens to the laptop or I have to rebuild from scratch. This might be a relatively minor project, but it has some meaning to me and might help someone else out later.
-
I moved to Pelican after deciding I no longer wanted to spend the effort on Wordpress. Too many things to worry about and a steady stream os security updates. Besides, static sites are more fun. ↩︎