askill
docker-compose

docker-composeSafety 90Repository

Generate Compose configs with services, networking, volumes, and health checks

15 stars
1.2k downloads
Updated 1/29/2026

Package Files

Loading files...
SKILL.md

Docker Compose Configuration Skill

Overview

This skill generates Docker Compose configurations for multi-container applications. It creates properly structured compose files with:

  • Service definitions
  • Network configuration
  • Volume management
  • Health checks
  • Dependencies
  • Environment configuration

Activation

Use this skill when:

  • Creating a new compose file
  • Adding services to existing compose
  • Configuring container orchestration
  • Setting up development or production environments

Process

1. Understand Requirements

Gather information about:

  • Required services (web, api, database, cache, etc.)
  • Environment (development/production)
  • Networking needs (internal, external, SSL)
  • Persistence requirements
  • Scaling needs

2. Consult Documentation

Read relevant documentation:

  • 03-compose-fundamentals.md for structure
  • 04-networking.md for networks
  • 05-databases.md for database services
  • 06-services.md for dependencies
  • 08-volumes.md for persistence

3. Generate Configuration

Create compose file following best practices:

# Modern compose (no version field)
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=production
    depends_on:
      db:
        condition: service_healthy
    networks:
      - frontend
      - backend
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
      interval: 30s
      timeout: 10s
      retries: 3

  db:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      POSTGRES_USER: ${DB_USER}
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_DB: ${DB_NAME}
    volumes:
      - postgres_data:/var/lib/postgresql/data
    networks:
      - backend
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U ${DB_USER}"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  postgres_data:

networks:
  frontend:
  backend:
    internal: true

Service Patterns

Web Application

services:
  web:
    build: .
    ports:
      - "80:80"
    depends_on:
      - api

API Service

services:
  api:
    build: ./api
    expose:
      - "3000"
    environment:
      - DATABASE_URL=postgresql://user:pass@db:5432/app
    depends_on:
      db:
        condition: service_healthy

Database Service

services:
  db:
    image: postgres:16-alpine
    volumes:
      - db_data:/var/lib/postgresql/data
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    healthcheck:
      test: ["CMD-SHELL", "pg_isready"]
      interval: 10s
      retries: 5

Cache Service

services:
  redis:
    image: redis:7-alpine
    command: redis-server --appendonly yes
    volumes:
      - redis_data:/data

Background Worker

services:
  worker:
    build: .
    command: npm run worker
    depends_on:
      - db
      - redis

Network Patterns

Internal Database Network

networks:
  backend:
    internal: true  # No external access

External Shared Network

networks:
  proxy:
    external: true
    name: traefik_proxy

Volume Patterns

Named Volume

volumes:
  postgres_data:

Bind Mount (Development)

volumes:
  - ./src:/app/src

Anonymous Volume

volumes:
  - /app/node_modules

Environment Patterns

Direct Values

environment:
  - NODE_ENV=production

From .env File

env_file:
  - .env

With Defaults

environment:
  - DB_HOST=${DB_HOST:-localhost}

Output

Generated compose file includes:

  • All required services
  • Proper network configuration
  • Volume definitions
  • Health checks
  • Dependency management
  • Environment configuration
  • Comments for complex settings

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

95/100Analyzed 2/13/2026

An excellent, comprehensive guide for generating Docker Compose configurations. It provides modern, best-practice examples including health checks, dependency management, and network isolation. The structure is logical, moving from requirements to execution with specific patterns for common scenarios.

90
95
90
95
95

Metadata

Licenseunknown
Version-
Updated1/29/2026
Publishermwguerra

Tags

apici-cddatabasetesting