← Back to Hub
Docker Compose Generator
Generates docker-compose.yml files for development environments. Supports common services like databases, caches, and message queues.
Skilldevopsdockercomposecontainersdevops
by Build Ship Grow
docker-compose-generator.yml
yaml + markdown
---
name: compose
description: Generate docker-compose.yml for local development services
triggers:
- /compose
- "docker compose"
- "set up local services"
---
# Docker Compose Generator Skill
## Process
1. Ask which services are needed (or detect from project config)
2. Generate a `docker-compose.yml` with sensible defaults
3. Include health checks and volume mounts
4. Add a `.env.example` with required variables
## Common Service Templates
### PostgreSQL
```yaml
postgres:
image: postgres:16-alpine
ports: ["5432:5432"]
environment:
POSTGRES_USER: ${DB_USER:-postgres}
POSTGRES_PASSWORD: ${DB_PASSWORD:-postgres}
POSTGRES_DB: ${DB_NAME:-app}
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 5s
retries: 5
```
### Redis
```yaml
redis:
image: redis:7-alpine
ports: ["6379:6379"]
volumes:
- redisdata:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
```
## Rules
- Always use Alpine images when available
- Pin major versions, not latest
- Add health checks to every service
- Use named volumes for data persistence
- Expose only necessary ports