Build a Multi-Service Docker Compose Stack from a Description
Writing a docker-compose.yml for a multi-service setup involves a lot of boilerplate — volumes, networks, healthchecks, env vars, dependency ordering. Describe what you need and Claude will wire it all up.
Write a docker-compose.yml for a Laravel app with:
- PHP-FPM 8.3 app container
- Nginx web server
- PostgreSQL 16 with a named volume for data persistence
- Redis for queues and sessions
- A queue worker container running the same image as the app
- All services on a shared internal network
- An .env file for credentials
Claude will produce a complete compose file with proper depends_on health checks, named volumes, and a sensible network layout — not just a skeleton you have to fill in yourself.
You can also ask it to add common extras:
Add a Mailpit container for local email testing and expose it on port 8025.
Also add a schedule container running `artisan schedule:work`.
Or ask Claude to review an existing compose file for issues:
Here's my current docker-compose.yml. What's wrong with it and how would you
improve the healthchecks, volume mounts, and startup order?
A compose file you didn't have to write from scratch is one that actually gets committed to the repo.
Log in to leave a comment.
Set up Claude Code as an automated reviewer in your CI pipeline — on every pull request, it reads the diff, checks for bugs, security issues, missing tests, and convention violations, then posts its findings as a PR comment. Your human reviewers get a head start because the obvious issues are already flagged before they look.
Before deploying, tell Claude to read your project — migrations, environment variables, queue workers, scheduled tasks, caching, third-party integrations — and generate a deployment checklist that's specific to your app. Not a generic "did you run migrations?" list, but one that knows YOUR infrastructure and catches the things YOUR deploy can break.
Instead of writing a README from memory or copying a template, tell Claude to read your project and generate one that's actually accurate — real setup instructions from your config, real architecture from your directory structure, real API examples from your routes, and real prerequisites from your dependency files.