2020-03-05 18:54:10 +00:00
# Awesome Compose [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)
![logo ](awesome-compose.jpg )
2020-03-11 12:20:49 +00:00
> A curated list of Docker Compose samples.
2020-03-26 17:08:29 +00:00
2020-03-20 17:09:43 +00:00
These samples provide a starting point for how to integrate different services using a Compose file and to manage their deployment with Docker Compose.
2020-03-05 18:54:10 +00:00
2020-08-12 12:13:25 +00:00
> **Note:**
>
> The following samples are intended for use in local development environments such as project setups, tinkering with software stacks, etc. These samples must not be deployed in production environments.
2020-03-26 17:08:29 +00:00
<!-- lint disable awesome - toc -->
## 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.
2020-06-21 08:21:09 +00:00
- [`Elasticsearch / Logstash / Kibana` ](https://github.com/docker/awesome-compose/tree/master/elasticsearch-logstash-kibana ) - Sample Elasticsearch, Logstash, and Kibana stack.
2020-03-26 17:08:29 +00:00
- [`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.
2021-05-21 16:43:15 +00:00
- [`NGINX / ASP.NET / MySQL` ](https://github.com/docker/awesome-compose/tree/master/nginx-aspnet-mysql ) - Sample Nginx reverse proxy with an C# backend using ASP.NET
2020-03-26 17:08:29 +00:00
- [`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.
2022-03-17 16:33:36 +00:00
- [`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 / Node.js / Redis` ](https://github.com/docker/awesome-compose/tree/master/nginx-nodejs-redis ) - Sample Node.js application with Nginx proxy and a Redis database
2020-03-26 17:08:29 +00:00
- [`NGINX / Go` ](https://github.com/docker/awesome-compose/tree/master/nginx-golang ) - Sample Nginx proxy with a Go backend.
2021-04-22 13:39:25 +00:00
- [`NGINX / WSGI / Flask` ](https://github.com/docker/awesome-compose/tree/master/nginx-wsgi-flask ) - Sample Nginx reverse proxy with a Flask backend using WSGI.
2021-08-07 12:39:17 +00:00
- [`PostgreSQL / pgAdmin` ](https://github.com/docker/awesome-compose/tree/master/postgresql-pgadmin ) - Sample setup for postgreSQL database with pgAdmin web interface
2022-03-17 16:33:36 +00:00
- [`Python / Flask / Redis` ](https://github.com/docker/awesome-compose/tree/master/flask-redis ) - Sample Python/Flask and a Redis database
2020-03-26 17:08:29 +00:00
- [`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.
2021-04-12 16:56:18 +00:00
- [`React / Express / MongoDB` ](https://github.com/docker/awesome-compose/tree/master/react-express-mongodb ) - Sample React
application with a Node.js backend and a Mongo database.
2020-03-26 17:08:29 +00:00
- [`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.
2021-10-10 15:19:58 +00:00
- [`React / Nginx` ](https://github.com/docker/awesome-compose/tree/master/react-nginx ) - Sample React application with Nginx.
2020-03-26 17:08:29 +00:00
- [`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 )
2020-04-06 16:31:23 +00:00
- [`PHP` ](https://github.com/docker/awesome-compose/tree/master/apache-php )
2020-04-07 19:32:26 +00:00
- [`Traefik` ](https://github.com/docker/awesome-compose/tree/master/traefik-golang )
2020-04-07 12:00:55 +00:00
- [`Django` ](https://github.com/docker/awesome-compose/tree/master/django )
2020-08-10 15:17:10 +00:00
- [`Minecraft server` ](https://github.com/docker/awesome-compose/tree/master/minecraft )
2021-08-07 12:36:28 +00:00
- [`Plex` ](https://github.com/docker/awesome-compose/tree/master/plex )
2021-08-07 12:37:23 +00:00
- [`Portainer` ](https://github.com/docker/awesome-compose/tree/master/portainer )
2021-08-07 12:38:20 +00:00
- [`Wireguard` ](https://github.com/docker/awesome-compose/tree/master/wireguard )
2020-03-26 17:08:29 +00:00
## 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 )
2021-12-09 12:09:48 +00:00
- [`Pi-hole / cloudflared` ](https://github.com/docker/awesome-compose/tree/master/pihole-cloudflared-DoH ) - Sample Pi-hole setup with use of DoH cloudflared service
2020-03-26 17:08:29 +00:00
- [`Prometheus / Grafana` ](https://github.com/docker/awesome-compose/tree/master/prometheus-grafana )
2021-12-09 12:09:48 +00:00
- [`Wordpress / MySQL` ](https://github.com/docker/awesome-compose/tree/master/wordpress-mysql )
2020-03-26 17:08:29 +00:00
<!-- lint disable awesome - toc -->
2020-03-11 12:20:49 +00:00
## Getting started
2020-03-06 14:04:03 +00:00
2020-03-11 12:20:49 +00:00
These instructions will get you through the bootstrap phase of creating and
2020-03-20 17:09:43 +00:00
deploying samples of containerized applications with Docker Compose.
2020-03-06 14:04:03 +00:00
### Prerequisites
2020-03-26 17:08:29 +00:00
- Make sure that you have Docker and Docker Compose installed
- Windows or macOS:
2020-03-11 12:20:49 +00:00
[Install Docker Desktop ](https://www.docker.com/get-started )
2020-03-26 17:08:29 +00:00
- Linux: [Install Docker ](https://www.docker.com/get-started ) and then
2020-03-20 17:09:43 +00:00
[Docker Compose ](https://github.com/docker/compose )
2020-03-26 17:08:29 +00:00
- Download some or all of the samples from this repository.
2020-03-06 14:04:03 +00:00
### Running a sample
2022-05-10 09:59:25 +00:00
The root directory of each sample contains the `compose.yaml` which
2020-03-11 12:20:49 +00:00
describes the configuration of service components. All samples can be run in
a local environment by going into the root directory of each one and executing:
```console
2022-05-10 09:59:25 +00:00
docker compose up -d
2020-03-06 14:04:03 +00:00
```
2020-03-11 12:20:49 +00:00
Check the `README.md` of each sample to get more details on the structure and
what is the expected output.
2020-06-12 15:04:29 +00:00
To stop and remove all containers of the sample application run:
2020-03-11 12:20:49 +00:00
```console
2022-05-10 09:59:25 +00:00
docker compose down
2020-03-06 14:04:03 +00:00
```
2020-03-26 17:08:29 +00:00
<!-- lint disable awesome - toc -->
2020-03-05 18:54:10 +00:00
## Contribute
2020-03-20 17:09:43 +00:00
We welcome examples that help people understand how to use Docker Compose for
2020-03-26 17:08:29 +00:00
common applications. Check the [Contribution Guide ](CONTRIBUTING.md ) for more details.