A Docker-based local development environment for PHP projects, with pre-configured web servers, PHP-FPM, databases, caches and 100+ services.
docker/awesome-compose
A curated collection of ready-to-run Docker Compose samples that show how to wire together common services for local development.
- Stars
- 46,660
- Forks
- 8,347
- Open issues
- 439
- Last commit
- 13 days ago
What is it?
Awesome Compose is a curated collection of Docker Compose samples. Each sample is a self-contained folder with a compose.yaml file that defines an application and the services it depends on, such as a web framework, a reverse proxy, and a database.
The samples cover multi-service stacks like ASP.NET with MS SQL, Go with Nginx and PostgreSQL, React with Express and MongoDB, and Elasticsearch with Logstash and Kibana. They also include single-service setups for frameworks such as Django, Flask, FastAPI and Angular, and self-hosted tools like Nextcloud, Gitea, Pi-hole and Prometheus with Grafana. Some samples also run WebAssembly workloads with Docker+Wasm.
The samples are meant for local development and experimentation, not production deployment. Running any of them comes down to changing into its directory and running docker compose up -d.
Key features
- 01Covers multi-service stacks pairing web frameworks with databases and reverse proxies.
- 02Includes single-service setups for frameworks such as Django, Flask, and Angular.
- 03Provides self-hosted tool configurations like Nextcloud, Gitea, and Pi-hole.
- 04Each sample includes a compose.yaml that runs with docker compose up -d.
- 05Some samples demonstrate WebAssembly workloads with Docker+Wasm.
Use cases
- Learning how to connect an application container to a database and proxy in one Compose file.
- Spinning up a local development stack for a framework like Django or React with a database.
- Trying out self-hosted tools such as Nextcloud or Prometheus with Grafana on a personal machine.
Quick start
- 1
Install Docker Desktop or Docker with Docker Compose
- 2
Download some or all of the samples from this repository
- 3
Go into a sample's root directory and start it in the background
docker compose up -d - 4
Stop and remove the sample's containers when finished
docker compose down
Things to know
- Samples are for local development only and must not be deployed to production.
Topics
FAQ
- What is awesome-compose?
- A curated collection of ready-to-run Docker Compose samples that show how to wire together common services for local development. Awesome Compose is a curated collection of Docker Compose samples. Each sample is a self-contained folder with a compose.yaml file that defines an application and the services it depends on, such as a web framework, a reverse proxy, and a database.
- Is awesome-compose free to use? What license does it have?
- awesome-compose is open source under the CC0-1.0 license. Check the license terms before using it in commercial products.
- Is awesome-compose still maintained?
- Actively maintained. The last commit to awesome-compose was on Oct 26, 2026.
- What can I use awesome-compose for?
- Learning how to connect an application container to a database and proxy in one Compose file. Spinning up a local development stack for a framework like Django or React with a database. Trying out self-hosted tools such as Nextcloud or Prometheus with Grafana on a personal machine.
- How do I install awesome-compose?
- Install Docker Desktop or Docker with Docker Compose Download some or all of the samples from this repository Go into a sample's root directory and start it in the background: docker compose up -d Stop and remove the sample's containers when finished: docker compose down
- Where can I get awesome-compose?
- The source code and installation instructions are on GitHub: https://github.com/docker/awesome-compose
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A local development and DevOps tool that spins up containerized dev environments for PHP, Node, Python, Ruby and more projects, configured by a single file.
A free, community-maintained collection of hands-on Docker tutorials and labs for beginner, intermediate and advanced learners.
A CLI tool for defining and running multi-container Docker applications from a single Compose file.
A lightweight way to run Docker, containerd, or Incus containers on macOS and Linux with minimal setup.
A CLI tool that converts Docker Compose files into Kubernetes deployment and service manifests.