diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..c9284c2 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* aiordache glours diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..6535e24 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,103 @@ +# Contributing + +Contributions should be made via pull requests. Pull requests will be reviewed +by one or more maintainers and merged when acceptable. + +The goal of the Awesome Compose is to provide a curated list of application +samples that can be easily deployed with [Docker Compose](https://github.com/docker/compose). + +## Missing an example? + +You can request a new example of an application by submitting an issue to our GitHub repository. + +Before submitting a new application, check if there isn't already application sample matching your need. + +If there is one, consider updating it instead of creating a new one. + +If you would like to submit a new application example, please start by submitting a proposal as an issue. +The maintainers will then use this issue to discuss what the the most valuable example for the application, + technology, language, or framework would be. + +After the choice has been made, you can submit a pull request with the example remembering to: +- include an example README.md to describe the application and explain how to run/use the sample. +- edit the global README.md to add your sample in the repository main list. + +## Commit Messages + +Commit messages should follow best practices and explain the context of the +problem and how it was solved-- including any caveats or follow up changes +required. They should tell the story of the change and provide readers an +understanding of what led to it. + +[How to Write a Git Commit Message](http://chris.beams.io/posts/git-commit/) +provides a good guide for how to do so. + +In practice, the best approach to maintaining a nice commit message is to +leverage a `git add -p` and `git commit --amend` to formulate a solid +change set. This allows one to piece together a change, as information becomes +available. + +If you squash a series of commits, don't just submit that. Re-write the commit +message, as if the series of commits was a single stroke of brilliance. + +That said, there is no requirement to have a single commit for a pull request, +as long as each commit tells the story. For example, if there is a feature that +requires a package, it might make sense to have the package in a separate commit +then have a subsequent commit that uses it. + +Remember, you're telling part of the story with the commit message. Don't make +your chapter weird. + +## Sign your work + +The sign-off is a simple line at the end of the explanation for the patch. Your +signature certifies that you wrote the patch or otherwise have the right to pass +it on as an open-source patch. The rules are pretty simple: if you can certify +the below (from [developercertificate.org](http://developercertificate.org/)): + +``` +Developer Certificate of Origin +Version 1.1 + +Copyright (C) 2004, 2006 The Linux Foundation and its contributors. +660 York Street, Suite 102, +San Francisco, CA 94110 USA + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + +Developer's Certificate of Origin 1.1 + +By making a contribution to this project, I certify that: + +(a) The contribution was created in whole or in part by me and I + have the right to submit it under the open source license + indicated in the file; or + +(b) The contribution is based upon previous work that, to the best + of my knowledge, is covered under an appropriate open source + license and I have the right under that license to submit that + work with modifications, whether created in whole or in part + by me, under the same open source license (unless I am + permitted to submit under a different license), as indicated + in the file; or + +(c) The contribution was provided directly to me by some other + person who certified (a), (b) or (c) and I have not modified + it. + +(d) I understand and agree that this project and the contribution + are public and that a record of the contribution (including all + personal information I submit with it, including my sign-off) is + maintained indefinitely and may be redistributed consistent with + this project or the open source license(s) involved. +``` + +Then you just add a line to every git commit message: + + Signed-off-by: Joe Smith + +Use your real name (sorry, no pseudonyms or anonymous contributions.) + +If you set your `user.name` and `user.email` git configs, you can sign your +commit automatically with `git commit -s`. diff --git a/MAINTAINERS b/MAINTAINERS new file mode 100644 index 0000000..f3d0c00 --- /dev/null +++ b/MAINTAINERS @@ -0,0 +1,37 @@ +# Awesome Compose maintainers file +# +# This file describes who runs the docker/awesome-compose project and how. +# This is a living document - if you see something out of date or missing, speak up! +# +# It is structured to be consumable by both humans and programs. +# To extract its contents programmatically, use any TOML-compliant parser. +# +# This file is compiled into the MAINTAINERS file in docker/opensource. +# +[Org] + [Org."Core maintainers"] + people = [ + "aiordache", + "glours" + ] + [Org.Alumni] + people = [ + ] + +[people] + +# A reference list of all people associated with the project. +# All other sections should refer to people by their canonical key +# in the people section. + + # ADD YOURSELF HERE IN ALPHABETICAL ORDER + + [people.aiordache] + Name = "Anca iordache" + Email = "anca.iordache@docker.com" + GitHub = "aiordache" + + [people.glours] + Name = "Guillaume Lours" + Email = "guillaume.lours@docker.com" + GitHub = "glours" diff --git a/README.md b/README.md index 188cfc2..7795aa1 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,51 @@ ![logo](awesome-compose.jpg) > A curated list of Docker Compose samples. + These samples provide a starting point for how to integrate different services using a Compose file and to manage their deployment with Docker Compose. + +## Contents + +- [Samples of Docker Compose applications with multiple integrated services](#samples-of-docker-compose-applications-with-multiple-integrated-services). +- [Single service samples](#single-service-samples). +- [Basic setups for different platforms (not production ready - useful for personal use)](#basic-setups-for-different-platforms-not-production-ready---useful-for-personal-use). + +## Samples of Docker Compose applications with multiple integrated services +- [`ASP.NET / MS-SQL`](https://github.com/docker/awesome-compose/tree/master/aspnet-mssql) - Sample ASP.NET core application +with MS SQL server database. +- [`Go / NGINX / MySQL`](https://github.com/docker/awesome-compose/tree/master/nginx-golang-mysql) - Sample Go application +with an Nginx proxy and a MySQL database. +- [`Go / NGINX / PostgreSQL`](https://github.com/docker/awesome-compose/tree/master/nginx-golang-postgres) - Sample Go +application with an Nginx proxy and a PostgreSQL database. +- [`Java Spark / MySQL`](https://github.com/docker/awesome-compose/tree/master/sparkjava-mysql) - Sample Java application and +a MySQL database. +- [`NGINX / Flask / MongoDB`](https://github.com/docker/awesome-compose/tree/master/nginx-flask-mongo) - Sample Python/Flask +application with Nginx proxy and a Mongo database. +- [`NGINX / Flask / MySQL`](https://github.com/docker/awesome-compose/tree/master/nginx-flask-mysql) - Sample Python/Flask +application with an Nginx proxy and a MySQL database. +- [`NGINX / Go`](https://github.com/docker/awesome-compose/tree/master/nginx-golang) - Sample Nginx proxy with a Go backend. +- [`React / Spring / MySQL`](https://github.com/docker/awesome-compose/tree/master/react-java-mysql) - Sample React +application with a Spring backend and a MySQL database. +- [`React / Express / MySQL`](https://github.com/docker/awesome-compose/tree/master/react-express-mysql) - Sample React +application with a Node.js backend and a MySQL database. +- [`React / Rust / PostgreSQL`](https://github.com/docker/awesome-compose/tree/master/react-rust-postgres) - Sample React +application with a Rust backend and a Postgres database. +- [`Spring / PostgreSQL`](https://github.com/docker/awesome-compose/tree/master/spring-postgres) - Sample Java application +with Spring framework and a Postgres database. +## Single service samples +- [`Angular`](https://github.com/docker/awesome-compose/tree/master/angular) +- [`Spark`](https://github.com/docker/awesome-compose/tree/master/sparkjava) +- [`VueJS`](https://github.com/docker/awesome-compose/tree/master/vuejs) +- [`Flask`](https://github.com/docker/awesome-compose/tree/master/flask) +## Basic setups for different platforms (not production ready - useful for personal use) +- [`Gitea / PostgreSQL`](https://github.com/docker/awesome-compose/tree/master/gitea-postgres) +- [`Nextcloud / PostgreSQL`](https://github.com/docker/awesome-compose/tree/master/nextcloud-postgres) +- [`Nextcloud / Redis / MariaDB`](https://github.com/docker/awesome-compose/tree/master/nextcloud-redis-mariadb) +- [`Wordpress / MySQL`](https://github.com/docker/awesome-compose/tree/master/wordpress-mysql) +- [`Prometheus / Grafana`](https://github.com/docker/awesome-compose/tree/master/prometheus-grafana) + + ## Getting started These instructions will get you through the bootstrap phase of creating and @@ -12,12 +55,12 @@ deploying samples of containerized applications with Docker Compose. ### Prerequisites -* Make sure that you have Docker and Docker Compose installed - * Windows or macOS: +- Make sure that you have Docker and Docker Compose installed + - Windows or macOS: [Install Docker Desktop](https://www.docker.com/get-started) - * Linux: [Install Docker](https://www.docker.com/get-started) and then + - Linux: [Install Docker](https://www.docker.com/get-started) and then [Docker Compose](https://github.com/docker/compose) -* Download some or all of the samples from this repository. +- Download some or all of the samples from this repository. ### Running a sample @@ -36,47 +79,8 @@ To stop and remove the all containers of the sample application run: ```console docker-compose down ``` - -## Contents - -*Samples of Docker Compose applications with multiple integrated services:* - -- [`ASP.NET / MS-SQL`](aspnet-mssql) -- sample ASP.NET core application - with MS SQL server database -- [`Go / NGINX / MySQL`](nginx-golang-mysql) -- sample Go application - with an Nginx proxy and a MySQL database -- [`Go / NGINX / PostgreSQL`](nginx-golang-postgres) -- sample Go - application with an Nginx proxy and a PostgreSQL database -- [`Java Spark / MySQL`](sparkjava-mysql) -- sample Java application and - a MySQL database -- [`NGINX / Flask / MongoDB`](nginx-flask-mongo) -- sample Python/Flask - application with Nginx proxy and a Mongo database -- [`NGINX / Flask / MySQL`](nginx-flask-mysql) -- sample Python/Flask - application with an Nginx proxy and a MySQL database -- [`NGINX / Go`](nginx-golang) -- sample Nginx proxy with a Go backend -- [`React / Spring / MySQL`](react-java-mysql) -- sample React - application with a Spring backend and a MySQL database -- [`React / Express / MySQL`](react-express-mysql) -- sample React - application with a NodeJS backend and a MySQL database -- [`React / Rust / PostgreSQL`](react-rust-postgres) -- sample React - application with a Rust backend and a Postgres database -- [`Spring / PostgreSQL`](spring-postgres) -- sample Java application - with Spring framework and a Postgres database - -*Single service samples:* -- [`Angular`](angular) -- [`Spark`](sparkjava) -- [`VueJS`](vuejs) -- [`Flask`](flask) - -*Basic setups for different plaforms (not production ready - useful for personal use)* -- [`Gitea / PostgreSQL`](gitea-postgres) -- [`Nextcloud / PostgreSQL`](nextcloud-postgres) -- [`Nextcloud / Redis / MariaDB`](nextcloud-redis-mariadb) -- [`Wordpress / MySQL`](wordpress-mysql) -- [`Prometheus / Grafana`](prometheus-grafana) - + ## Contribute We welcome examples that help people understand how to use Docker Compose for -common applications. +common applications. Check the [Contribution Guide](CONTRIBUTING.md) for more details.