Docker - Traefik - HugoBlog
Intro
as i’m playing with traefik & docker, why not duplicate this blog in container ? for fun and profit ? let’s give at try …
pre-condition
- you have traefik running and a wildcard certificate for a domain. see the previous posts …
docker compose
cat << 'EOF' > docker-compose.yml
version: '3'
services:
  hugo:
    image: jakejarvis/hugo-extended:latest
    ports:
      - 1313:1313
    volumes:
      - ./src:/src
    command: server --buildDrafts --buildFuture --bind 0.0.0.0
    restart: always
    networks:
      - traefik
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.hugo.rule=Host(`testblog.norma.li`)"
      - "traefik.http.routers.hugo.tls=true"
networks:
  traefik:
    external: true
EOF
prepare hugo
which hugo || apt install hugo
hugo new site src
mkdir src/themes
git clone https://github.com/vimux/mainroad.git src/themes/mainroad
config.toml
cat << 'EOF' > src/config.toml
baseURL = "https://testblog.norma.li/"
languageCode = "en-us"
title = "My Brandnew Docker Traefik Hugo Blog ..."
theme = "mainroad"
EOF
docker up
docker compose up -d
Create Page
cd src
hugo new posts/hello.md
sed -i '/draft: true/d' content/posts/hello.md
echo -e "hello world :)\n" >> content/posts/hello.md