Contributing to Docker genai-stack

This page provides information on how to contribute to the Docker genai-stack project. It assumes that you are already familiar with the project and its purpose. For official guidelines, please refer to the project’s contributing and maintainers guides.

Reporting Issues

If you encounter an issue, first check the issue database to see if it has already been reported. If not, create a new issue with a clear and detailed description, including the output of docker version and docker info.

Quick Contribution Tips

  1. Pull requests are always welcome: If you find a bug or have an improvement, create a pull request. Make sure to document it as a GitHub issue before starting work.
  2. Communication: Engage with the community through the Docker Community Slack or Twitter.
  3. Conventions: Fork the repository, create a feature branch, and make clean commits with proper commit messages and sign-offs.

Building and Running the Project

The project uses docker-compose for building, running, and managing services. The following commands are available:

  • docker-compose build: Build all services in the Dockerfile
  • cp env.example .env: Create a .env file from the template
  • docker-compose up: Start all services in the Dockerfile
  • docker-compose up --build: Start all services and rebuild if changes have been made
  • docker-compose watch: Start all services and rebuild on file changes
  • docker-compose down: Shutdown all containers and remove their containers, networks, and volumes

Additionally, there are profile-specific commands for starting and shutting down different profiles (Linux, Linux-GPU, and MacOS).

Testing and Deployment

The project does not provide any testing or deployment commands in the provided information.

CI/CD Configuration

The project has a CI/CD configuration in docker-compose.yml. This configuration is used to build, test, and deploy the project using Docker.

Additional Commands

There are also additional commands like make assets and make for generating assets and the binary of the application, assuming a Makefile is present.