gitmyhub

awesome-compose

HTML ★ 46k updated 20h ago

Awesome Docker Compose samples

Awesome Compose is a library of ready-made Docker Compose recipes for dozens of popular app stacks, copy one to spin up a local dev environment in a single command instead of writing the config yourself.

DockerDocker ComposeYAMLsetup: easycomplexity 1/5

Awesome Compose is a curated collection of ready-to-use Docker Compose configuration files — essentially a library of pre-written recipes for spinning up common application stacks on your local computer. Docker Compose is a tool that lets you define and run multi-container applications: rather than manually starting a database, a web server, and an application separately, you write a single YAML file (compose.yaml) that describes all of them and their connections, then start everything with one command.

The problem this repository solves is the blank-page problem when setting up a local development environment. Instead of spending an afternoon figuring out how to correctly wire a Flask backend to a MySQL database behind an Nginx reverse proxy — getting environment variables, port mappings, and network names right — you can copy an existing working example and adapt it. The collection covers dozens of popular combinations: React with Express and MongoDB, Python Flask with Redis, Spring Java with PostgreSQL, Go with Nginx and MySQL, Elasticsearch with Logstash and Kibana, and many more. There are also single-service setups for individual tools like Grafana, Nextcloud, Pi-hole, Prometheus, and WordPress.

You would use this repository when starting a new project and wanting a working local stack quickly, or when learning how a particular technology (such as a database or message queue) integrates with Docker. All examples are intended for local development and learning only — the README explicitly notes they are not production-ready. The only prerequisite is having Docker and Docker Compose installed. Each sample folder contains its own compose.yaml and a README explaining the expected output. No specific programming language is required to use them.

Where it fits