docker-compose-skill

- Copy the compose.yml template below for your stack (Postgres, Redis, etc.)

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "docker-compose-skill" with this command: npx skills add scientiacapital/skills/scientiacapital-skills-docker-compose-skill

<quick_start>

  • Copy the compose.yml template below for your stack (Postgres, Redis, etc.)

  • Create a .env file with database credentials

  • Run docker compose up -d to start services

  • Use docker compose logs -f to monitor </quick_start>

<success_criteria>

  • All services start with docker compose up -d and reach healthy state

  • Health checks configured for every database/cache service

  • Environment variables externalized to .env (no hardcoded secrets in compose.yml)

  • Hot reload working for application code via volume mounts

  • docker compose down -v cleanly removes all containers and volumes </success_criteria>

Docker Compose Skill

Local development environments using Docker Compose for multi-service setups.

Quick Start

Common Services

Service Image Default Port

PostgreSQL postgres:16-alpine

5432

Redis redis:7-alpine

6379

MongoDB mongo:7

27017

MySQL mysql:8

3306

Basic compose.yml

services: db: image: postgres:16-alpine environment: POSTGRES_USER: ${DB_USER:-app} POSTGRES_PASSWORD: ${DB_PASSWORD:-secret} POSTGRES_DB: ${DB_NAME:-app_dev} ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-app}"] interval: 5s timeout: 5s retries: 5

redis: image: redis:7-alpine ports: - "6379:6379" volumes: - redis_data:/data

volumes: postgres_data: redis_data:

Essential Commands

Start services (detached)

docker compose up -d

Start with logs visible

docker compose up

View logs

docker compose logs -f [service]

Shell into container

docker compose exec db psql -U app

Stop and remove containers

docker compose down

Stop and remove volumes (full reset)

docker compose down -v

Rebuild without cache

docker compose build --no-cache

Environment Variables

Create .env file in project root:

.env

DB_USER=app DB_PASSWORD=secret DB_NAME=myapp_dev REDIS_URL=redis://localhost:6379

Reference in compose.yml:

environment: POSTGRES_USER: ${DB_USER:-app}

Health Checks

Always add health checks for service dependencies:

services: db: healthcheck: test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-app}"] interval: 5s timeout: 5s retries: 5

app: depends_on: db: condition: service_healthy

Hot Reload Setup

Mount source code for development:

services: app: build: . volumes: - .:/app # Source code - /app/node_modules # Preserve node_modules environment: - NODE_ENV=development

Profiles for Optional Services

services: mailhog: image: mailhog/mailhog profiles: ["mail"] ports: - "8025:8025"

Start with: docker compose --profile mail up

Reference Files

  • reference/compose-patterns.md

  • Common compose file patterns

  • reference/services.md

  • Database, cache, queue service configs

  • reference/networking.md

  • Ports, networks, volumes

  • reference/dev-workflow.md

  • Development workflow commands

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

business-model-canvas

No summary provided by upstream source.

Repository SourceNeeds Review
General

trading-signals

No summary provided by upstream source.

Repository SourceNeeds Review
General

content-marketing

No summary provided by upstream source.

Repository SourceNeeds Review
General

crm-integration

No summary provided by upstream source.

Repository SourceNeeds Review