Skip to content

Conversation

@pmady
Copy link
Contributor

@pmady pmady commented Dec 22, 2025

Link the Issue(s) this Pull Request is related to.

Summarize your change.

Add a comprehensive Docker-based setup for building OpenCue documentation without requiring a local Ruby installation. This provides multiple interfaces (helper script, Make, Docker Compose, and direct Docker) to accommodate different workflows and ensure consistent build environments across all platforms.

Changes:

  • Add Dockerfile with Ruby 3.2 Alpine base image
  • Add docker-compose.yml with build, serve, and ci profiles
  • Add docker-build.sh helper script with fallback support
  • Add Makefile for Make-based Docker commands
  • Add .dockerignore for optimized builds
  • Add DOCKER.md with comprehensive documentation
  • Update README.md to recommend Docker setup as Option 1

Features:

  • No Ruby installation required
  • Live reload development server
  • Persistent gem caching for faster builds
  • CI/CD ready with clean build profile
  • Backward compatible with local Ruby setup
  • Supports Docker Compose v1, v2, or direct Docker commands

Add comprehensive Docker-based setup for building OpenCue documentation
without requiring local Ruby installation. This provides multiple interfaces
(helper script, Make, Docker Compose, direct Docker) to accommodate different
workflows and ensures consistent build environments across all platforms.

Changes:
- Add Dockerfile with Ruby 3.2 Alpine base image
- Add docker-compose.yml with build, serve, and ci profiles
- Add docker-build.sh helper script with fallback support
- Add Makefile for Make-based Docker commands
- Add .dockerignore for optimized builds
- Add DOCKER.md with comprehensive documentation
- Add DOCKER_SETUP_SUMMARY.md for implementation details
- Update README.md to recommend Docker setup as Option 1

Features:
- No Ruby installation required
- Live reload development server
- Persistent gem caching for faster builds
- CI/CD ready with clean build profile
- Backward compatible with local Ruby setup
- Supports Docker Compose v1, v2, or direct Docker commands

Issue Number: close AcademySoftwareFoundation#1869

Signed-off-by: Madduri, Pavan <pavan.madduri@grainger.com>
@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Dec 22, 2025

CLA Signed

The committers listed above are authorized under a signed CLA.

Copy link
Collaborator

@lithorus lithorus left a comment

Choose a reason for hiding this comment

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

Really nice setup.
Seems to work as intended, but perhaps you could also add it to CI/CD?

…tion

Address review feedback from @lithorus:
- Remove DOCKER_SETUP_SUMMARY.md as it's not needed for the PR
- Update docs-pipeline.yml to use Docker for building documentation

Changes:
- Remove docs/DOCKER_SETUP_SUMMARY.md
- Update .github/workflows/docs-pipeline.yml to use Docker Buildx
- Replace Ruby setup with Docker build process
- Use docker run to build documentation in CI/CD

This ensures the Docker setup is properly integrated into the existing
CI/CD pipeline and provides a consistent build environment.

Issue Number: ref AcademySoftwareFoundation#1869

Signed-off-by: pmady <pavan4devops@gmail.com>
@pmady
Copy link
Contributor Author

pmady commented Dec 23, 2025

Included the docker set-up in github workflow
Before

- name: Setup Ruby
  uses: ruby/setup-ruby@v1
  with:
    ruby-version: '3.2'
    bundler-cache: true

- name: Build with Jekyll
  run: bundle exec jekyll build

After

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build Docker image
run: docker build -t opencue-docs:ci .

- name: Build with Jekyll using Docker
run: docker run --rm -v "$(pwd):/docs" opencue-docs:ci bundle exec jekyll build

@pmady pmady requested a review from lithorus December 23, 2025 15:49
@lithorus lithorus merged commit b6633a3 into AcademySoftwareFoundation:master Dec 26, 2025
24 checks passed
@ramonfigueiredo ramonfigueiredo changed the title docs: add Docker setup for building documentation [docs] Add Docker setup for building documentation Dec 28, 2025
@ramonfigueiredo
Copy link
Collaborator

Thanks, @pmady

Great job!

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.

3 participants