This repository provides an example of deploying a Hugo + Blowfish blog using Docker Compose, Nginx with PageSpeed, and Traefik.
- Hugo: A fast and flexible static site generator.
- Blowfish: A theme for Hugo.
- Docker Compose: Tool for defining and running multi-container Docker applications.
- Nginx with PageSpeed: High-performance web server with PageSpeed module for optimizing site performance.
- Traefik: A modern reverse proxy and load balancer.
As an example you can visit my blog at sancholabs.com
The deployment is divided into two stages:
- Development: Uses
Dockerfile.development
to set up a local development environment with Hugo. - Production: Uses
Dockerfile.deployment
anddocker-compose-deploy.yml
to build and deploy the site with Nginx and Traefik.
Dockerfile.development
: Sets up the development environment.Dockerfile.deployment
: Builds the production-ready site.docker-compose.yml
: Defines the development services.docker-compose-deploy.yml
: Defines the production services.
To start the development environment, run:
To generate the site run:
docker compose run --rm hugo new site .