Contents

New site: kemitix.net

I’ve never been one for having much of a blog. I tried a few years ago to start bloging my tech notes. That was on github pages with Jekyll. I didn’t update it much past the initial few posts. Hopfully this time I’ll me more consistent. Which is why I’m particularly interested in making it as frictionless as possible to add new posts.

I really didn’t like my experiance Jekyll, and when I can to try and revive my site, the Ruby installation process was more than I cared to deal with. I ran into some errors as soon as I tried to install, and I’m not looking to get into the technical details of how my blog works. I just want to create a markdown file, commit the file, maybe run a simple command, and that’s it published.

I like static sites. I’ve a magazine hosted on a S3 bucket: https://www.cossmass.com/. It is created using Hugo, and I’ve been able to do some interesting things with the templates and loading data from yaml files. So, after a look around at some other static site generators, I’ve settled on what I know, and recreated my ’tech-blog’ using Hugo.

Copying over the markdown files from Jekyll required no editing for them to work with Hugo. I have cleaned up the date to remove the time stamp, and to add some tags, but I didn’t need to. I also renamed the extension to .md from .markdown, because it just hurt my eyes to look at them.

As for hosting, I did think about creating another S3 bucket, but opted instead to use my existing home server. It is already using Caddy to proxy over a half dozen other sites, so adding a static site isn’t going to strain it.

Once I eventually remembered that I needed to mount my public directory inside my Caddy docker container, it just worked.

I’ve still to work my way through most of the docs for the theme I’m using, Loveit, so things may change as I tweek settings.

Caddy Configuration

The revelent section of my Caddyfile:

1
2
3
4
kemitix.net {
    root * /blog
    file_server
}

Docker

And my docker-compose.yaml:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
services:
  caddy:
    image: caddy:alpine
    restart: unless-stopped
    container_name: caddy
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - ./caddy/certs:/certs
      - ./caddy/caddy/config:/config
      - ./caddy/data:/data
      - ./caddy/sites:/srv
      - ../blog/public:/blog
    network_mode: "host"