Docker Compose is a tool for defining and running multi-container Docker applications using a single YAML file (compose.yml). One file declares the services, their images, environment variables, port mappings, named volumes, and dependency order; "docker compose up -d" then brings the whole stack up in detached mode. It is the de-facto packaging format for self-hostable open-source software, because most non-trivial applications ship as several containers (the app, its database, a cache, and a reverse proxy) that need to talk to each other on a shared internal network.
In a self-hosting context
Almost every "5 minutes to self-host" claim in this directory bottoms out in a docker-compose.yml. Mattermost, Nextcloud, Gitea, Plausible Analytics, and n8n all ship official compose files in their repos. PaaS-style wrappers like CapRover and Coolify build on top of Compose to add a UI and a one-click deploy story without forcing you onto Kubernetes. See Kubernetes vs Docker Compose for when Compose stops being enough.