in root.html). Outputs custom og:image with assets_prefix normalisation and non-Google site verification. --> Docker Configuration | zer0-mistakes in _layouts/root.html. What this file adds: - Custom og:image with preview_images.assets_prefix path normalisation for the theme-specific page.preview and page.header.og_image keys. When page.image is set, jekyll-seo-tag handles og:image and this file skips its own og:image output to avoid duplicate tags. - Non-Google site verification tags (Bing, Yandex, Naver, Baidu) Dependencies: - jekyll-seo-tag plugin (loaded in _layouts/root.html via Docker Configuration | zer0-mistakes ) - site.preview_images config in _config.yml =================================================================== --> Docker Configuration | zer0-mistakes Skip to main content
Settings
Search
Appearance
Theme Mode
About
Jekyll v3.10.0
Environment Production
Last Build
2026-04-10 14:49 UTC
Current Environment Production
Build Time Apr 10, 14:49
Jekyll v3.10.0
Build env (JEKYLL_ENV) production
Page Location
Page Info
Layout root
Collection none
Path docker/README.md
URL /docker/
Theme Skin
SVG Backgrounds
Layer Opacity
0.6
0.04
0.08

Docker Configuration

This directory contains Docker-related files for the zero-pin dependency strategy.

Files

File Purpose
Dockerfile Multi-stage build with zero version pins
config/production.yml Jekyll production configuration overlay
config/development.yml Jekyll development configuration overlay

Zero Pin Strategy

The Dockerfile uses ruby:slim without version pins, allowing Docker Hub to resolve the latest Ruby version. Similarly, Bundler resolves the latest compatible gem versions at build time.

Build Stages

  1. base - Ruby slim + build dependencies + Bundler
  2. dev-test - Full dev/test gems for CI validation
  3. build - Production Jekyll build
  4. production - Minimal runtime for serving

Usage

Development

# From project root
docker compose up

Testing

docker compose -f docker-compose.yml -f docker-compose.test.yml build --no-cache
docker compose -f docker-compose.yml -f docker-compose.test.yml run jekyll

Production

# Use immutable tag from CI (never :latest)
IMAGE_TAG=20251128-1420-a1b2c3d docker compose -f docker-compose.prod.yml up -d

Required Secrets (for CI/CD)

To publish Docker images, configure these secrets in GitHub: