README.md 5.75 KB
Newer Older
Anca Iordache's avatar
Anca Iordache committed
1
2
3
4
# Awesome Compose [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)

![logo](awesome-compose.jpg)

Christopher Crone's avatar
Christopher Crone committed
5
> A curated list of Docker Compose samples.
6

7
These samples provide a starting point for how to integrate different services using a Compose file and to manage their deployment with Docker Compose.
Anca Iordache's avatar
Anca Iordache committed
8

Usha Mandya's avatar
Usha Mandya committed
9
10
11
12
> **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.

13
14
15
16
17
18
19
20
21
22
<!--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.
23
- [`Elasticsearch / Logstash / Kibana`](https://github.com/docker/awesome-compose/tree/master/elasticsearch-logstash-kibana) - Sample Elasticsearch, Logstash, and Kibana stack.
24
25
26
27
28
29
30
31
32
33
34
- [`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.
35
- [`NGINX / WSGI / Flask`](https://github.com/docker/awesome-compose/tree/master/nginx-wsgi-flask) - Sample Nginx reverse proxy with a Flask backend using WSGI.
36
37
38
39
- [`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.
40
41
- [`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.
42
43
44
45
46
47
48
49
50
- [`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)
51
- [`PHP`](https://github.com/docker/awesome-compose/tree/master/apache-php)
lfache's avatar
lfache committed
52
- [`Traefik`](https://github.com/docker/awesome-compose/tree/master/traefik-golang)
FelipeVilella's avatar
FelipeVilella committed
53
- [`Django`](https://github.com/docker/awesome-compose/tree/master/django)
54
- [`Minecraft server`](https://github.com/docker/awesome-compose/tree/master/minecraft)
55
56
57
58
59
60
61
62
## 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)

<!--lint disable awesome-toc-->
Christopher Crone's avatar
Christopher Crone committed
63
## Getting started
Anca Iordache's avatar
Anca Iordache committed
64

Christopher Crone's avatar
Christopher Crone committed
65
These instructions will get you through the bootstrap phase of creating and
66
deploying samples of containerized applications with Docker Compose.
Anca Iordache's avatar
Anca Iordache committed
67
68
69

### Prerequisites

70
71
- Make sure that you have Docker and Docker Compose installed
  - Windows or macOS:
Christopher Crone's avatar
Christopher Crone committed
72
    [Install Docker Desktop](https://www.docker.com/get-started)
73
  - Linux: [Install Docker](https://www.docker.com/get-started) and then
74
    [Docker Compose](https://github.com/docker/compose)
75
- Download some or all of the samples from this repository.
Anca Iordache's avatar
Anca Iordache committed
76
77
78

### Running a sample

79
The root directory of each sample contains the `docker-compose.yaml` which
Christopher Crone's avatar
Christopher Crone committed
80
81
82
83
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
Anca Iordache's avatar
Anca Iordache committed
84
85
docker-compose up -d
```
Christopher Crone's avatar
Christopher Crone committed
86
87
88

Check the `README.md` of each sample to get more details on the structure and
what is the expected output.
Rahil's avatar
Rahil committed
89
To stop and remove all containers of the sample application run:
Christopher Crone's avatar
Christopher Crone committed
90
91

```console
Anca Iordache's avatar
Anca Iordache committed
92
93
docker-compose down
```
94
<!--lint disable awesome-toc-->
Anca Iordache's avatar
Anca Iordache committed
95
96
## Contribute

97
We welcome examples that help people understand how to use Docker Compose for
98
common applications. Check the [Contribution Guide](CONTRIBUTING.md) for more details.