{"id":"linuxserver-docker-compose","name":"docker-compose","homepage":"https://hub.docker.com/r/linuxserver/docker-compose","repo_url":"https://hub.docker.com/r/linuxserver/docker-compose","category":"infrastructure","subcategories":[],"tags":["devtools","infrastructure","containers","orchestration","docker","local-development"],"what_it_does":"docker-compose is a tool for defining and running multi-container Docker applications using a YAML configuration (docker-compose.yml). It orchestrates services (start/stop/scale) on a single Docker host and commonly replaces manually running docker run for local development and many deployments.","use_cases":["Local development with multiple dependent services (app + database + cache)","Integration testing with repeatable multi-service environments","Simple self-hosted deployments of multi-container stacks","Creating reproducible dev environments for teams","Rapidly wiring together third-party containers (e.g., databases, brokers)"],"not_for":["High-scale production orchestration across multiple hosts (Kubernetes/Swarm are more appropriate)","Highly automated/contracted programmatic workflows requiring a stable HTTP/SDK API","Complex secrets management and policy enforcement without additional tooling"],"best_when":"You need a straightforward way to orchestrate a small-to-medium set of containers on one machine for development or single-host deployment.","avoid_when":"You need multi-host orchestration, strict compliance/auditing controls, or an externally facing service API with strong auth/error semantics.","alternatives":["Docker Swarm","Kubernetes (helm/kustomize)","Podman Compose","Nomad","AWS ECS/EC2 with task definitions","Heroku/Dokku style platform orchestration (where applicable)"],"af_score":31.0,"security_score":20.5,"reliability_score":33.8,"package_type":"mcp_server","discovery_source":["docker_mcp"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T13:52:32.222566+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":false,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["none (local CLI)"],"oauth":false,"scopes":false,"notes":"docker-compose itself does not implement authentication; security depends on how Docker is configured (daemon access, TLS, rootless mode) and any credentials passed to containers (ideally via environment variables/secrets mechanisms)."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Open-source tooling; costs depend on your infrastructure and any services you run with it."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":31.0,"security_score":20.5,"reliability_score":33.8,"mcp_server_quality":0.0,"documentation_accuracy":40.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":100.0,"rate_limit_clarity":0.0,"tls_enforcement":20.0,"auth_strength":10.0,"scope_granularity":0.0,"dependency_hygiene":60.0,"secret_handling":25.0,"security_notes":"docker-compose is a local orchestration CLI without its own auth layer. Security primarily depends on Docker daemon access control (TLS/rootless), and on how secrets are provided to containers (risk of leaking via compose files, environment variables, logs). No intrinsic rate limiting or security policy enforcement is provided by docker-compose.","uptime_documented":0.0,"version_stability":55.0,"breaking_changes_history":45.0,"error_recovery":35.0,"idempotency_support":"false","idempotency_notes":"Some commands can be re-run safely depending on flags and container state (e.g., up typically converges), but strong idempotency guarantees for arbitrary operations are not a documented contract for agents.","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["docker-compose commands are stateful (container/network/volume state affects outcomes)","Credentials often end up in compose files or environment variables—agents may accidentally expose secrets if not carefully handled","Network/port binding and volume mounts can differ between environments; ensure consistent configuration","docker-compose v1 vs compose v2 command differences (e.g., `docker compose` vs `docker-compose`) can break automation scripts"]}}