Skip to content

Conversation

@ahouseholder
Copy link
Contributor

This PR refactors our use of make and docker to use docker-compose, which simplifies the process for building and running container images. This will be useful as a foundation for future architectures where we need to spin up more containers for microservices, as we begin to address things like #655.

CoPilot Summary

This pull request refactors the project's Docker setup to simplify workflows and improve maintainability. Key changes include replacing individual Makefile Docker commands with docker-compose commands, reorganizing Docker-related files into a dedicated docker directory, and updating documentation to reflect these changes.

Docker Setup Refactoring:

  • Makefile Changes: Removed individual Docker build and run targets (dockerbuild_test, dockerrun_test, dockerbuild_docs, dockerrun_docs) in favor of consolidated docker-compose commands (docker_test, docs, up, down). Updated help text to reflect the new commands.
  • Dockerfile Updates: Moved Dockerfile to a dedicated docker directory and updated paths for requirements and application files to reflect the new directory structure.
  • docker-compose.yml Addition: Added a docker-compose.yml file to define services (base, dependencies, test, docs) and streamline Docker workflows.

Documentation Updates:

  • Docker Directory Description: Added a new section to README.md describing the docker directory and its purpose for managing Docker configurations.
  • Updated Commands: Replaced outdated Docker commands with docker-compose equivalents in sections for running the documentation server (make docs) and tests (make docker_test). Adjusted port mapping details for the docs server. [1] [2]

@ahouseholder ahouseholder self-assigned this Jun 6, 2025
@ahouseholder ahouseholder added enhancement New feature or request tech/environment Project environment, deployment, CI, etc. labels Jun 6, 2025
@ahouseholder ahouseholder requested review from Copilot and sei-renae June 6, 2025 20:05
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR refactors our Docker setup by replacing individual Makefile Docker targets with a docker‑compose based workflow for improved simplicity and maintainability.

  • Consolidates Docker image build/run commands into a docker-compose configuration.
  • Reorganizes Docker-related files into a dedicated docker directory and updates the documentation accordingly.

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
docker/docker-compose.yml New docker-compose file defining services for base, dependencies, test, and docs.
docker/Dockerfile Adjusted COPY commands to reflect the new directory structure.
README.md Updated instructions and examples to use docker-compose commands.
Makefile Removed individual Docker targets; added targets for tests, docs, up, and down using docker-compose.
Comments suppressed due to low confidence (1)

Makefile:20

  • [nitpick] Clarify in the help message that the 'test' target runs tests locally while the 'docker_test' target runs tests in a Docker container to avoid potential confusion.
pushd $(DOCKER_DIR) && docker-compose run --rm test

@ahouseholder ahouseholder merged commit 2d97e3f into main Jun 11, 2025
5 checks passed
@ahouseholder ahouseholder deleted the refactor-docker-compose branch June 11, 2025 13:41
@ahouseholder ahouseholder added this to the 2025-09 milestone Aug 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request tech/environment Project environment, deployment, CI, etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants