Sponsor Suno AI Music arrow_forward
Slash Command

Docker Compose Create

Generate docker-compose.yml for multi-service applications

Type
Slash Command
GitHub stars
2.8k
License
MIT
Repo last updated
Sep 27, 2026

What Docker Compose Create is

Docker Compose Create is a slash command published in the jeremylongshore/tons-of-skills-marketplace repository on GitHub, which has about 2.8k stars. The repository describes itself as: “Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com.”

A slash command is a reusable prompt saved as a markdown file and run by typing its name after a slash. In Claude Code, custom commands have been merged into skills: a file in .claude/commands/ and a skill folder in .claude/skills/ both create the same kind of command, and existing command files keep working.

Docker Compose Create gives you a repeatable way to run the same instructions without retyping them, optionally with arguments.

How to install Docker Compose Create

Claude Code

  1. Download docker-compose-create.md from the repository.
  2. Save it to ~/.claude/commands/ (all projects) or .claude/commands/ (one project). As a skill, you can instead save it as ~/.claude/skills/<name>/SKILL.md.
  3. Run it by typing / followed by its name.

Claude Cowork

  1. Turn the command into a skill: create a folder with the file saved as SKILL.md and zip it.
  2. In Customize → Skills, click +, then upload the ZIP.
  3. Run it from any task with / and the skill name.

New to extending Cowork? Our plugins guide and Customize guide explain how skills, plugins, and connectors fit together.

Inside the source file

An excerpt from plugins/packages/devops-automation-pack/plugins/03-docker/commands/docker-compose-create.md, shared under the repository's MIT license. Read the full file on GitHub.

Creates production-ready docker-compose.yml files for multi-service applications with proper networking, volumes, health checks, and environment management.

When to Use This

  • Multi-service application (app + database + cache)
  • Microservices architecture
  • Local development environment setup
  • Full-stack applications (frontend + backend + DB)
  • Single container app (use /dockerfile-generate instead)

How It Works

You are a Docker Compose expert. When user runs /docker-compose-create or /dcc:

  1. Identify services: Ask user to specify:
  • Application services (API, frontend, worker)
  • Database services (PostgreSQL, MySQL, MongoDB)
  • Cache/queue services (Redis, RabbitMQ)
  • Other services (Nginx, proxy, etc.)
  1. Determine requirements:
  • Persistent data needs (databases)
  • Inter-service communication (networks)
  • Environment variables (secrets, config)
  • Port mappings
  • Health checks and dependencies
  1. Generate docker-compose.yml:
  • Service definitions with proper images
  • Named volumes for persistence
  • Custom networks for isolation
  • Environment variable management
  • Health checks and restart policies
  • Service dependencies (depends_on)
  1. Create .env template:
  • Environment variables template
  • Secrets placeholders
  • Configuration defaults
  1. Provide usage instructions:
  • How to start services
  • How to stop services
  • How to view logs
  • How to rebuild images

Output Format

# docker-compose.yml
[Complete compose file with comments]
# .env.example
[Environment variables template]
## Usage

### Start all services:

docker-compose up -d


### View logs:

docker-compose logs -f [service-name]


### Stop all services:

docker-compose down


### Rebuild and restart:

docker-compose up -d --build

Examples

Example 1: Node.js API + PostgreSQL + Redis

User: /dcc

Services specified:

  • Node.js API (port 3000)
  • PostgreSQL database
  • Redis cache

Output:

# docker-compose.yml
version: '3.8'

services:
  # Node.js API service
  api:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: api
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=production
      - DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}
      - REDIS_URL=redis://redis:6379
    depends_on:
…
# .env.example
# Copy this file to .env and fill in your values

# PostgreSQL Configuration
POSTGRES_DB=myapp
POSTGRES_USER=postgres
POSTGRES_PASSWORD=your_secure_password_here

# Redis Configuration
REDIS_PASSWORD=your_redis_password_here

# Application Configuration
NODE_ENV=production

Example 2: Full-Stack (React + Express + MongoDB)

User: /dcc

Services specified:

  • React frontend (port 80)
  • Express backend (port 5000)
  • MongoDB database

Output:

# docker-compose.yml
version: '3.8'

services:
  # React frontend
  frontend:
    build:
      context: ./frontend
      dockerfile: Dockerfile
    container_name: frontend
    restart: unless-stopped
    ports:
      - "80:80"
    environment:
      - REACT_APP_API_URL=http://localhost:5000
    depends_on:
      - backend
    networks:
…
# .env.example
# MongoDB Configuration
MONGO_USER=admin
MONGO_PASSWORD=your_secure_password_here
MONGO_DB=myapp

# Backend Configuration
JWT_SECRET=your_jwt_secret_here
NODE_ENV=production

# Frontend Configuration
REACT_APP_API_URL=http://localhost:5000

Example 3: Microservices (API Gateway + 3 Services + Postgres)

User: /dcc

Services specified:

  • Nginx API Gateway
  • User Service (port 3001)
  • Product Service (port 3002)
  • Order Service (port 3003)
  • PostgreSQL (shared database)

Output:

# docker-compose.yml
version: '3.8'

services:
  # Nginx API Gateway
  gateway:
    image: nginx:alpine
    container_name: api-gateway
    restart: unless-stopped
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro
    depends_on:
      - user-service
      - product-service
      - order-service
    networks:
…
# .env.example
# Database Configuration
POSTGRES_PASSWORD=your_secure_password_here

Pro Tips

Use health checks to ensure services start in correct order Named volumes persist data across container restarts Custom networks isolate services from other containers Always use .env files (never commit secrets) Service names become DNS hostnames (e.g., db, redis)

Common Service Configurations

PostgreSQL:

db:
  image: postgres:15-alpine
  environment:
    - POSTGRES_DB=${POSTGRES_DB}
    - POSTGRES_USER=${POSTGRES_USER}
    - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
  volumes:
    - postgres-data:/var/lib/postgresql/data
  healthcheck:
    test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"]
    interval: 10s
    timeout: 5s
    retries: 5

MySQL:

db:
  image: mysql:8
  environment:
    - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
    - MYSQL_DATABASE=${MYSQL_DATABASE}
  volumes:
    - mysql-data:/var/lib/mysql
  healthcheck:
    test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
    interval: 10s
    timeout: 5s
    retries: 5

Redis:

redis:
  image: redis:7-alpine
  command: redis-server --requirepass ${REDIS_PASSWORD}
  volumes:
    - redis-data:/data
  healthcheck:
    test: ["CMD", "redis-cli", "ping"]
    interval: 10s
    timeout: 3s
    retries: 5

Before you install

  • Read the whole file first. Skills, commands, and subagents are instructions Claude will follow, so make sure they match what you want.
  • Check which tools, scripts, or MCP servers it uses. Local servers and scripts run with your permissions.
  • Try it in a test project or a copy of your files before pointing it at real work.
  • Pin the version you tested, and review changes before updating.
  • Watch for instructions that fetch web content or run shell commands; those are where prompt injection risks start. See our prompt injection guide.

FAQ

What is Docker Compose Create?

Docker Compose Create is a slash command for Claude Code and Claude Cowork from the jeremylongshore/tons-of-skills-marketplace repository on GitHub. Generate docker-compose.yml for multi-service applications

How do I install Docker Compose Create in Claude Code?

Download docker-compose-create.md from the repository. Save it to ~/.claude/commands/ (all projects) or .claude/commands/ (one project). As a skill, you can instead save it as ~/.claude/skills/<name>/SKILL.md. Run it by typing / followed by its name.

Can I use Docker Compose Create in Claude Cowork?

Turn the command into a skill: create a folder with the file saved as SKILL.md and zip it. In Customize → Skills, click +, then upload the ZIP. Run it from any task with / and the skill name.

Is Docker Compose Create safe to install?

It is a third-party community resource, not reviewed by Anthropic or this site. Read the source file first, check which tools and connectors it uses, and install only from sources you trust.

Similar resources

Browse all skills, subagents, and plugins →

Listing data comes from the public GitHub repository and was last checked in September 2026. Excerpts are © their authors and shared under MIT. This directory is independent and not affiliated with Anthropic or the resource's authors.