{"id":15129806,"url":"https://github.com/gvatsal60/cppdockermaketemplate","last_synced_at":"2026-02-23T03:49:47.934Z","repository":{"id":239170031,"uuid":"798761729","full_name":"gvatsal60/CppDockerMakeTemplate","owner":"gvatsal60","description":"🐳🔨 Effortlessly containerize your C++ projects with Docker using this streamlined template","archived":false,"fork":false,"pushed_at":"2025-09-28T04:54:34.000Z","size":181,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-28T06:21:12.049Z","etag":null,"topics":["c","cpp","docker","docker-container","docker-image","dockerfile","linux","make","makefile"],"latest_commit_sha":null,"homepage":"","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gvatsal60.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"buy_me_a_coffee":"gvatsal60"}},"created_at":"2024-05-10T12:18:39.000Z","updated_at":"2025-09-28T04:54:36.000Z","dependencies_parsed_at":"2024-05-10T13:39:29.961Z","dependency_job_id":"4c95c6a2-d36d-432c-8199-ca9973ced6a8","html_url":"https://github.com/gvatsal60/CppDockerMakeTemplate","commit_stats":null,"previous_names":["gvatsal60/clg-lib-mgmt","gvatsal60/cppdockermaketemplate"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/gvatsal60/CppDockerMakeTemplate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gvatsal60%2FCppDockerMakeTemplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gvatsal60%2FCppDockerMakeTemplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gvatsal60%2FCppDockerMakeTemplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gvatsal60%2FCppDockerMakeTemplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gvatsal60","download_url":"https://codeload.github.com/gvatsal60/CppDockerMakeTemplate/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gvatsal60%2FCppDockerMakeTemplate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279016545,"owners_count":26085850,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","cpp","docker","docker-container","docker-image","dockerfile","linux","make","makefile"],"created_at":"2024-09-26T02:20:32.854Z","updated_at":"2025-10-13T18:04:34.031Z","avatar_url":"https://github.com/gvatsal60.png","language":"Makefile","funding_links":["https://buymeacoffee.com/gvatsal60"],"categories":[],"sub_categories":[],"readme":"# CppDockerMakeTemplate\n\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://img.shields.io/github/license/gvatsal60/CppDockerMakeTemplate)\n![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/gvatsal60/CppDockerMakeTemplate/build.yaml)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=gvatsal60_CppDockerMakeTemplate\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=gvatsal60_CppDockerMakeTemplate)\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-Yes-green.svg)](https://GitHub.com/gvatsal60/CppDockerMakeTemplate/graphs/commit-activity)\n[![GitHub pull-requests](https://img.shields.io/github/issues-pr/gvatsal60/CppDockerMakeTemplate.svg)](https://GitHub.com/gvatsal60/CppDockerMakeTemplate/pull/)\n[![GitHub issues](https://img.shields.io/github/issues/gvatsal60/CppDockerMakeTemplate.svg)](https://GitHub.com/gvatsal60/CppDockerMakeTemplate/issues/)\n[![GitHub forks](https://img.shields.io/github/forks/gvatsal60/CppDockerMakeTemplate.svg)](https://GitHub.com/gvatsal60/CppDockerMakeTemplate/network/)\n[![GitHub stars](https://img.shields.io/github/stars/gvatsal60/CppDockerMakeTemplate.svg)](https://GitHub.com/gvatsal60/CppDockerMakeTemplate/stargazers)\n\nThis repository serves as a template for setting up a development environment to run C++ code inside Docker containers using Makefiles. Whether you're working on a personal project or a team-based endeavor,\nthis template streamlines the process of containerizing your C++ applications, making them portable and easy to manage across different environments.\n\n## Prerequisites\n\nBefore getting started, ensure that you have the following prerequisites installed on your system:\n\n- Docker: Install Docker according to the instructions for your operating system from [Docker's official website](https://www.docker.com/get-started).\n- Git: Install Git if you haven't already from [Git's official website](https://git-scm.com/downloads).\n- Make:\n\n  - **Linux:** If you're on a Linux system, Make might already be installed. If not, you can install it using your package manager. For example, on Ubuntu, you can install Make with the following command:\n\n    ```sh\n    sudo apt-get install make\n    ```\n\n  - **Windows:** For Windows users, Make is not typically installed by default. You can install it using MinGW, which provides a Unix-like environment on Windows along with a collection of GNU utilities.\n  Follow these steps to install Make on Windows using MinGW:\n    1. Download and install MinGW from [MinGW's official website](http://www.mingw.org/).\n    2. During installation, make sure to select the option to install the \"MSYS Basic System\" component, which includes Make.\n    3. After installation, add the MinGW bin directory to your system's PATH environment variable. This is typically `C:\\MinGW\\bin`.\n\n## Getting Started\n\nFollow these steps to get started with CppDockerMakeTemplate:\n\n1. **Clone the Repository:**\n\n   ```Makefile\n   git clone https://github.com/gvatsal60/CppDockerMakeTemplate.git\n   cd CppDockerMakeTemplate\n   ```\n\n2. **Build the Docker Image:**\n\n   ```Makefile\n   make build_img\n   ```\n\n3. **Inside the Docker Container:**\n   Once inside the Docker container, you'll find yourself in the `$PROJECT_NAME` directory, where the project is set up.\n\n4. **Build the Project:**\n\n   ```Makefile\n   make build\n   ```\n\n5. **Run the Executable:**\n\n   ```Makefile\n   make run\n   ```\n\n6. **Test the Project:**\n\n   ```Makefile\n   make test\n   ```\n\n7. **Clean the Project:**\n\n   ```Makefile\n   make clean\n   ```\n\n## Customization\n\nYou can customize this template according to your project's needs. Here are some areas you might want to modify:\n\n- **Makefile:** Adjust Make configuration, add or remove source files, libraries, or dependencies as needed.\n- **Dockerfile:** Modify Dockerfile to include additional packages or tools required for your project.\n- **Source Files:** Add your source files under the `src` directory.\n\n## Contributing\n\nContributions are welcome! If you find any issues or have suggestions for improvements, feel free to open an issue or submit a pull request.\n\n## License\n\nThis project is licensed under the Apache 2.0 License. See the [LICENSE](https://www.apache.org/licenses/LICENSE-2.0) file for details.\n\n## Acknowledgments\n\nThank you for using the CppDockerMakeTemplate. Happy coding!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgvatsal60%2Fcppdockermaketemplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgvatsal60%2Fcppdockermaketemplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgvatsal60%2Fcppdockermaketemplate/lists"}