back to home

docker / awesome-compose

Awesome Docker Compose samples

44,043 stars
8,039 forks
331 issues
HTMLDockerfileRust

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing docker/awesome-compose in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind-ai.vercel.app/repo/docker/awesome-compose)
Preview:Analyzed by RepoMind

Repository Summary (README)

Preview

Awesome Compose

Awesome

logo

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.

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.

<!--lint disable awesome-toc-->

Contents

Samples of Docker Compose applications with multiple integrated services

<a href="https://docs.docker.com/desktop/wasm/"><img src="icon_wasm.svg" alt="Docker + wasm" height="30" align="top"/></a> Icon indicates Sample is compatible with Docker+Wasm.

  • ASP.NET / MS-SQL - Sample ASP.NET core application with MS SQL server database.
  • Elasticsearch / Logstash / Kibana - Sample Elasticsearch, Logstash, and Kibana stack.
  • Go / NGINX / MySQL - Sample Go application with an Nginx proxy and a MySQL database.
  • Go / NGINX / PostgreSQL - Sample Go application with an Nginx proxy and a PostgreSQL database.
  • Java Spark / MySQL - Sample Java application and a MySQL database.
  • NGINX / ASP.NET / MySQL - Sample Nginx reverse proxy with an C# backend using ASP.NET.
  • NGINX / Flask / MongoDB - Sample Python/Flask application with Nginx proxy and a Mongo database.
  • NGINX / Flask / MySQL - Sample Python/Flask application with an Nginx proxy and a MySQL database.
  • NGINX / Node.js / Redis - Sample Node.js application with Nginx proxy and a Redis database.
  • NGINX / Go - Sample Nginx proxy with a Go backend.
  • NGINX / WSGI / Flask - Sample Nginx reverse proxy with a Flask backend using WSGI.
  • PostgreSQL / pgAdmin - Sample setup for postgreSQL database with pgAdmin web interface.
  • Python / Flask / Redis - Sample Python/Flask and a Redis database.
  • React / Spring / MySQL - Sample React application with a Spring backend and a MySQL database.
  • React / Express / MySQL - Sample React application with a Node.js backend and a MySQL database.
  • React / Express / MongoDB - Sample React application with a Node.js backend and a Mongo database.
  • React / Rust / PostgreSQL - Sample React application with a Rust backend and a Postgres database.
  • React / Nginx - Sample React application with Nginx.
  • Spring / PostgreSQL - Sample Java application with Spring framework and a Postgres database.
  • WasmEdge / MySQL / Nginx - Sample Wasm-based web application with a static HTML frontend, using a MySQL (MariaDB) database. The frontend connects to a Wasm microservice written in Rust, that runs using the WasmEdge runtime. <a href="wasmedge-mysql-nginx"><img src="icon_wasm.svg" alt="Compatible with Docker+wasm" height="30" align="top"/></a>
  • WasmEdge / Kafka / MySQL - Sample Wasm-based microservice that subscribes to a Kafka (Redpanda) queue topic, and transforms and saves any incoming message into a MySQL (MariaDB) database. <a href="wasmedge-kafka-mysql"><img src="icon_wasm.svg" alt="Compatible with Docker+wasm" height="30" align="top"/></a>

Single service samples

Basic setups for different platforms (not production ready - useful for personal use)

<!--lint disable awesome-toc-->

Getting started

These instructions will get you through the bootstrap phase of creating and deploying samples of containerized applications with Docker Compose.

Prerequisites

Running a sample

The root directory of each sample contains the compose.yaml which 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:

docker compose up -d

Check the README.md of each sample to get more details on the structure and what is the expected output. To stop and remove all containers of the sample application run:

docker compose down

Quickstart guides

In addition to all the ready to run Compose samples listed above the folder official-documentation-samples contains quickstart guides. Each of these step by step guides explain which files need to be created to build and run a Docker Compose application.

<!--lint disable awesome-toc-->

Contribute

We welcome examples that help people understand how to use Docker Compose for common applications. Check the Contribution Guide for more details.