-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Description
This issue proposes adding Docker support to the project. The goal is to provide a reliable and consistent method for running the application, eliminating environment-specific configuration hurdles.
Problem / Motivation
The current process for running the project requires manual installation and configuration of several dependencies. This can be an obstacle for users who wish to run the application without modifying their system environment or dealing with potential dependency conflicts.
Proposed Solution
I have forked the repository and implemented a Docker setup that addresses this challenge. The solution provides a containerized environment to run the project predictably.
The implementation includes:
Dockerfile: Defines the environment and steps to build a runnable image of the application.- GitHub Actions Workflow: An automated pipeline to build and publish the Docker image to GitHub Container Registry (ghcr.io) on every release.
- Updated Documentation: Clear instructions in the
README.mdfor running the project with Docker.
Key Features of the Implementation
- Consistent Execution: The application runs inside an isolated container, ensuring identical behavior regardless of the host machine.
- Automated Builds: A GitHub Action automatically builds and publishes a ready-to-use Docker image for each release.
- Simple Startup: Users can run the application with a single
docker runcommand using the pre-built image.
Definition of Done (DoD)
For this feature to be considered complete, the following must be achieved:
- A
Dockerfileis added to the project root. - A GitHub Actions workflow (
.github/workflows/docker.yml) is added to automate Docker image builds on releases. - The
README.mdis updated with a new "Running with Docker" section containing:- Instructions for pulling the pre-built image and running the container with
docker run. - Instructions for manually building the image from source.
- Instructions for pulling the pre-built image and running the container with
- The Docker setup works correctly and the application runs as expected.
Additional Context
This implementation is designed to be non-breaking. The traditional method for running the project remains fully functional. The Docker setup is offered as a streamlined, optional alternative.
I have this implementation ready in my fork and am prepared to submit a Pull Request for review once this issue is accepted.