Skip to content

chore: replace abandoned jekyll image with local Dockerfile#120

Open
MateoLostanlen wants to merge 3 commits into
mainfrom
chore/fix-docker-dev
Open

chore: replace abandoned jekyll image with local Dockerfile#120
MateoLostanlen wants to merge 3 commits into
mainfrom
chore/fix-docker-dev

Conversation

@MateoLostanlen
Copy link
Copy Markdown
Member

  • Replace bretfisher/jekyll-serve (unmaintained, ignores our Gemfile.lock and tries to install ancient github-pages 28 → posix-spawn that no longer compiles) with a local Dockerfile based on ruby:3.3-slim.
  • bundle install runs against the actual Gemfile.lock (github-pages 232 / jekyll 3.10.0), so the dev image matches what GitHub Pages builds.
  • Add .dockerignore to keep _site, .git and caches out of the build context.
  • Verified locally: docker compose up --build serves http://localhost:4000 with HTTP 200, auto-reload working.

@MateoLostanlen MateoLostanlen requested a review from fe51 May 1, 2026 10:04
Copy link
Copy Markdown
Member

@fe51 fe51 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for opening the PR.
However, I found an issue while testing on Apple Silicon (aarch64)

The Gemfile.lock committed here was generated on a different platform — it specifies BUNDLED WITH 1.17.2 (incompatible with Ruby 3.3) and github-pages 228 (no aarch64-linux build available), causing docker compose up --build to fail.

Root cause: Gemfile.lock is gitignored, so the lockfile you tested with locally wasn't included in the PR.

Tradeoff:

  • OPTION A : Track the lockfile : Reproducible builds, but requires keeping the lockfile up-to-date and platform-compatible -> fragile across machines.

  • OPTION B : Drop the lockfile from the Docker build : Simpler and always works. Change COPY Gemfile Gemfile.lock ./ → COPY Gemfile ./ and add RUN gem install bundler before bundle install. Slightly less reproducible, but as GitHub Pages controls its own gem versions anyway so the lockfile's "match exactly" guarantee is weak in practice.

What do you think ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants