Docker Compose configuration template and validation logic for MetaSaver monorepos. Includes 4 required standards (PostgreSQL service with project-prefixed env vars like RUGBYCRM_POSTGRES_USER or METASAVER_SILVER_POSTGRES_USER for multi-db, project-specific naming for containers and networks, volumes section, service health checks). Use when creating or auditing docker-compose.yml files.
Generates and validates docker-compose.yml files for MetaSaver monorepos with 4 required standards: PostgreSQL service with project-prefixed env vars, project-specific naming, volumes, and health checks. Used when creating or auditing Docker Compose configurations.
/plugin marketplace add metasaver/claude-marketplace/plugin install core-claude-plugin@metasaver-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
templates/docker-compose.multi-db.yml.templatetemplates/docker-compose.yml.templateThis skill provides docker-compose.yml template and validation logic for containerized service orchestration.
Manage docker-compose.yml configuration to:
This skill is invoked by the docker-compose-agent when:
Single-database template:
templates/docker-compose.yml.template
Multi-database template:
templates/docker-compose.multi-db.yml.template
Use the multi-db template when a project has multiple database tiers (e.g., silver, gold).
Placeholders to replace:
{project} - lowercase project name (e.g., rugby-crm){PROJECT} - uppercase for comments (e.g., RUGBY CRM)<PREFIX> - uppercase env var prefix (e.g., RUGBYCRM)<DBNAME> - optional database tier name for multi-db projects (e.g., SILVER, GOLD){PORT} - external port number (e.g., 5434)Pattern: {APPLICATION_NAME}_{DBNAME_OPTIONAL}_POSTGRES_{FIELD}
| Project Type | Example | Pattern |
|---|---|---|
| Single-database | RUGBYCRM_POSTGRES_USER | PREFIX_POSTGRES_FIELD |
| Multi-database | METASAVER_SILVER_POSTGRES_USER | PREFIX_DBNAME_POSTGRES_FIELD |
Fields: USER, PASSWORD, DB, PORT
Multi-database examples (metasaver-com):
METASAVER_SILVER_POSTGRES_USER, METASAVER_SILVER_POSTGRES_PASSWORD, METASAVER_SILVER_POSTGRES_DB, METASAVER_SILVER_POSTGRES_PORTMETASAVER_GOLD_POSTGRES_USER, METASAVER_GOLD_POSTGRES_PASSWORD, METASAVER_GOLD_POSTGRES_DB, METASAVER_GOLD_POSTGRES_PORTMust include PostgreSQL service with project-prefixed environment variables:
services:
postgres:
image: postgres:17-alpine
container_name: rugby-crm-postgres
restart: unless-stopped
environment:
POSTGRES_USER: ${RUGBYCRM_POSTGRES_USER}
POSTGRES_PASSWORD: ${RUGBYCRM_POSTGRES_PASSWORD}
POSTGRES_DB: ${RUGBYCRM_POSTGRES_DB}
ports:
- "${RUGBYCRM_POSTGRES_PORT}:5432"
volumes:
- postgres-data:/var/lib/postgresql/data
networks:
- rugby-crm-network
healthcheck:
test:
[
"CMD-SHELL",
"pg_isready -U ${RUGBYCRM_POSTGRES_USER} -d ${RUGBYCRM_POSTGRES_DB}",
]
interval: 10s
timeout: 5s
retries: 5
Required fields:
image - PostgreSQL version (recommend 17-alpine)container_name - Project-specific name (e.g., rugby-crm-postgres)restart - Must be unless-stopped or alwaysenvironment - Project-prefixed: {PREFIX}_POSTGRES_USER, {PREFIX}_POSTGRES_PASSWORD, {PREFIX}_POSTGRES_DBports - Port mapping with project-prefixed variablevolumes - Named volume for data persistencenetworks - Project-specific network nameAll env vars must use project prefix pattern: ${<PREFIX>_[DBNAME_]POSTGRES_*}
${RUGBYCRM_POSTGRES_USER}, ${RESUMEBUILDER_POSTGRES_USER}${METASAVER_SILVER_POSTGRES_USER}, ${METASAVER_GOLD_POSTGRES_USER}Must include project-specific naming:
volumes.postgres-datanetworks.{project}-network with driver: bridgePostgreSQL service must include healthcheck with: test (using prefixed vars), interval (10s), timeout (5s), retries (5).
Workflow:
RUGBYCRM_POSTGRES_* or METASAVER_SILVER_POSTGRES_*)version: "3.8" is deprecated and should be omittedRUGBYCRM_ or METASAVER_SILVER_){PREFIX}_[DBNAME_]POSTGRES_USER, {PREFIX}_[DBNAME_]POSTGRES_PASSWORD, {PREFIX}_[DBNAME_]POSTGRES_DB, {PREFIX}_[DBNAME_]POSTGRES_PORTThis skill integrates with:
scope parameter. If not provided, use /skill scope-check/skill audit-workflow - Bi-directional comparison workflow/skill remediation-options - Conform/Update/Ignore choicesenv-example-agent - Environment variable management