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