Ctrl K
ComunidadGuías…

docker-compose.mcp.yml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Auto-generated Docker Compose file for MCP Connectors
# Generated by scripts/mcp_generate_compose.py
# Project: rsync-ai-mcp (shows as separate group in Docker Desktop)
# DO NOT EDIT MANUALLY - changes will be overwritten

name: rsync-ai-mcp
services:
  aws-s3-v1-0-0-mcp:
    build:
      context: ./shared/mcp-connectors/public/storage/aws-s3/versions/v1.0.0
      dockerfile: Dockerfile
      additional_contexts:
        shared: ./shared/mcp-connectors/public
    image: mcp-aws-s3:v1.0.0
    container_name: rsync-ai-aws-s3-v1-0-0-mcp
    labels:
      - rsync-ai.mcp=true
      - rsync-ai.connector=aws-s3
      - rsync-ai.connector_version=v1.0.0
    environment:
      - PORT=8000
      - MCP_PORT=8000
      - MCP_HTTP_MODE=true
      - DOCKER_CONTAINER=true
      - LOG_FORMAT=json
      - LOG_LEVEL=info
      - ENVIRONMENT=docker
      - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      start_period: 10s
      retries: 3
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    mem_limit: ${MCP_MEMORY_LIMIT:-512m}
    pids_limit: ${MCP_PIDS_LIMIT:-512}
    logging:
      driver: json-file
      options:
        max-size: ${MCP_LOG_MAX_SIZE:-10m}
        max-file: "${MCP_LOG_MAX_FILE:-3}"
    networks:
      rsync-network:
        aliases:
          - rsync-ai-aws-s3-mcp
          - rsync-ai-aws_s3-mcp
  azure-blob-v1-0-0-mcp:
    build:
      context: ./shared/mcp-connectors/public/storage/azure-blob/versions/v1.0.0
      dockerfile: Dockerfile
      additional_contexts:
        shared: ./shared/mcp-connectors/public
    image: mcp-azure-blob:v1.0.0
    container_name: rsync-ai-azure-blob-v1-0-0-mcp
    labels:
      - rsync-ai.mcp=true
      - rsync-ai.connector=azure-blob
      - rsync-ai.connector_version=v1.0.0
    environment:
      - PORT=8000
      - MCP_PORT=8000
      - MCP_HTTP_MODE=true
      - DOCKER_CONTAINER=true
      - LOG_FORMAT=json
      - LOG_LEVEL=info
      - ENVIRONMENT=docker
      - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      start_period: 10s
      retries: 3
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    mem_limit: ${MCP_MEMORY_LIMIT:-512m}
    pids_limit: ${MCP_PIDS_LIMIT:-512}
    logging:
      driver: json-file
      options:
        max-size: ${MCP_LOG_MAX_SIZE:-10m}
        max-file: "${MCP_LOG_MAX_FILE:-3}"
    networks:
      rsync-network:
        aliases:
          - rsync-ai-azure-blob-mcp
  bigquery-v1-0-0-mcp:
    build:
      context: ./shared/mcp-connectors/public/database/bigquery/versions/v1.0.0
      dockerfile: Dockerfile
      additional_contexts:
        shared: ./shared/mcp-connectors/public
    image: mcp-bigquery:v1.0.0
    container_name: rsync-ai-bigquery-v1-0-0-mcp
    labels:
      - rsync-ai.mcp=true
      - rsync-ai.connector=bigquery
      - rsync-ai.connector_version=v1.0.0
    environment:
      - PORT=8000
      - MCP_PORT=8000
      - MCP_HTTP_MODE=true
      - DOCKER_CONTAINER=true
      - LOG_FORMAT=json
      - LOG_LEVEL=info
      - ENVIRONMENT=docker
      - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      start_period: 10s
      retries: 3
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    mem_limit: ${MCP_MEMORY_LIMIT:-512m}
    pids_limit: ${MCP_PIDS_LIMIT:-512}
    logging:
      driver: json-file
      options:
        max-size: ${MCP_LOG_MAX_SIZE:-10m}
        max-file: "${MCP_LOG_MAX_FILE:-3}"
    networks:
      rsync-network:
        aliases:
          - rsync-ai-bigquery-mcp
  clickhouse-v1-0-0-mcp:
    build:
      context: ./shared/mcp-connectors/public/database/clickhouse/versions/v1.0.0
      dockerfile: Dockerfile
      additional_contexts:
        shared: ./shared/mcp-connectors/public
    image: mcp-clickhouse:v1.0.0
    container_name: rsync-ai-clickhouse-v1-0-0-mcp
    labels:
      - rsync-ai.mcp=true
      - rsync-ai.connector=clickhouse
      - rsync-ai.connector_version=v1.0.0
    environment:
      - PORT=8000
      - MCP_PORT=8000
      - MCP_HTTP_MODE=true
      - DOCKER_CONTAINER=true
      - LOG_FORMAT=json
      - LOG_LEVEL=info
      - ENVIRONMENT=docker
      - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      start_period: 10s
      retries: 3
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    mem_limit: ${MCP_MEMORY_LIMIT:-512m}
    pids_limit: ${MCP_PIDS_LIMIT:-512}
    logging:
      driver: json-file
      options:
        max-size: ${MCP_LOG_MAX_SIZE:-10m}
        max-file: "${MCP_LOG_MAX_FILE:-3}"
    networks:
      rsync-network:
        aliases:
          - rsync-ai-clickhouse-mcp
  databricks-v1-0-0-mcp:
    build:
      context: ./shared/mcp-connectors/public/database/databricks/versions/v1.0.0
      dockerfile: Dockerfile
      additional_contexts:
        shared: ./shared/mcp-connectors/public
    image: mcp-databricks:v1.0.0
    container_name: rsync-ai-databricks-v1-0-0-mcp
    labels:
      - rsync-ai.mcp=true
      - rsync-ai.connector=databricks
      - rsync-ai.connector_version=v1.0.0
    environment:
      - PORT=8000
      - MCP_PORT=8000
      - MCP_HTTP_MODE=true
      - DOCKER_CONTAINER=true
      - LOG_FORMAT=json
      - LOG_LEVEL=info
      - ENVIRONMENT=docker
      - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      start_period: 10s
      retries: 3
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    mem_limit: ${MCP_MEMORY_LIMIT:-512m}
    pids_limit: ${MCP_PIDS_LIMIT:-512}
    logging:
      driver: json-file
      options:
        max-size: ${MCP_LOG_MAX_SIZE:-10m}
        max-file: "${MCP_LOG_MAX_FILE:-3}"
    networks:
      rsync-network:
        aliases:
          - rsync-ai-databricks-mcp
  gcs-v1-0-0-mcp:
    build:
      context: ./shared/mcp-connectors/public/storage/gcs/versions/v1.0.0
      dockerfile: Dockerfile
      additional_contexts:
        shared: ./shared/mcp-connectors/public
    image: mcp-gcs:v1.0.0
    container_name: rsync-ai-gcs-v1-0-0-mcp
    labels:
      - rsync-ai.mcp=true
      - rsync-ai.connector=gcs
      - rsync-ai.connector_version=v1.0.0
    environment:
      - PORT=8000
      - MCP_PORT=8000
      - MCP_HTTP_MODE=true
      - DOCKER_CONTAINER=true
      - LOG_FORMAT=json
      - LOG_LEVEL=info
      - ENVIRONMENT=docker
      - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      start_period: 10s
      retries: 3
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    mem_limit: ${MCP_MEMORY_LIMIT:-512m}
    pids_limit: ${MCP_PIDS_LIMIT:-512}
    logging:
      driver: json-file
      options:
        max-size: ${MCP_LOG_MAX_SIZE:-10m}
        max-file: "${MCP_LOG_MAX_FILE:-3}"
    networks:
      rsync-network:
        aliases:
          - rsync-ai-gcs-mcp
  github-rest-v1-0-0-mcp:
    build:
      context: ./shared/mcp-connectors/public/github-rest/versions/v1.0.0
      dockerfile: Dockerfile
      additional_contexts:
        shared: ./shared/mcp-connectors/public
    image: mcp-github-rest:v1.0.0
    container_name: rsync-ai-github-rest-v1-0-0-mcp
    labels:
      - rsync-ai.mcp=true
      - rsync-ai.connector=github-rest
      - rsync-ai.connector_version=v1.0.0
    environment:
      - PORT=8000
      - MCP_PORT=8000
      - MCP_HTTP_MODE=true
      - DOCKER_CONTAINER=true
      - LOG_FORMAT=json
      - LOG_LEVEL=info
      - ENVIRONMENT=docker
      - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      start_period: 10s
      retries: 3
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    mem_limit: ${MCP_MEMORY_LIMIT:-512m}
    pids_limit: ${MCP_PIDS_LIMIT:-512}
    logging:
      driver: json-file
      options:
        max-size: ${MCP_LOG_MAX_SIZE:-10m}
        max-file: "${MCP_LOG_MAX_FILE:-3}"
    networks:
      rsync-network:
        aliases:
          - rsync-ai-github-rest-mcp
  google-sheets-v1-0-0-mcp:
    build:
      context: ./shared/mcp-connectors/public/google-sheets/versions/v1.0.0
      dockerfile: Dockerfile
      additional_contexts:
        shared: ./shared/mcp-connectors/public
    image: mcp-google-sheets:v1.0.0
    container_name: rsync-ai-google-sheets-v1-0-0-mcp
    labels:
      - rsync-ai.mcp=true
      - rsync-ai.connector=google-sheets
      - rsync-ai.connector_version=v1.0.0
    environment:
      - PORT=8000
      - MCP_PORT=8000
      - MCP_HTTP_MODE=true
      - DOCKER_CONTAINER=true
      - LOG_FORMAT=json
      - LOG_LEVEL=info
      - ENVIRONMENT=docker
      - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      start_period: 10s
      retries: 3
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    mem_limit: ${MCP_MEMORY_LIMIT:-512m}
    pids_limit: ${MCP_PIDS_LIMIT:-512}
    logging:
      driver: json-file
      options:
        max-size: ${MCP_LOG_MAX_SIZE:-10m}
        max-file: "${MCP_LOG_MAX_FILE:-3}"
    networks:
      rsync-network:
        aliases:
          - rsync-ai-google-sheets-mcp
  mongodb-v1-0-0-mcp:
    build:
      context: ./shared/mcp-connectors/public/database/mongodb/versions/v1.0.0
      dockerfile: Dockerfile
      additional_contexts:
        shared: ./shared/mcp-connectors/public
    image: mcp-mongodb:v1.0.0
    container_name: rsync-ai-mongodb-v1-0-0-mcp
    labels:
      - rsync-ai.mcp=true
      - rsync-ai.connector=mongodb
      - rsync-ai.connector_version=v1.0.0
    environment:
      - PORT=8000
      - MCP_PORT=8000
      - MCP_HTTP_MODE=true
      - DOCKER_CONTAINER=true
      - LOG_FORMAT=json
      - LOG_LEVEL=info
      - ENVIRONMENT=docker
      - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      start_period: 10s
      retries: 3
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    mem_limit: ${MCP_MEMORY_LIMIT:-512m}
    pids_limit: ${MCP_PIDS_LIMIT:-512}
    logging:
      driver: json-file
      options:
        max-size: ${MCP_LOG_MAX_SIZE:-10m}
        max-file: "${MCP_LOG_MAX_FILE:-3}"
    networks:
      rsync-network:
        aliases:
          - rsync-ai-mongodb-mcp
  mysql-v1-0-0-mcp:
    build:
      context: ./shared/mcp-connectors/public/database/mysql/versions/v1.0.0
      dockerfile: Dockerfile
      additional_contexts:
        shared: ./shared/mcp-connectors/public
    image: mcp-mysql:v1.0.0
    container_name: rsync-ai-mysql-v1-0-0-mcp
    labels:
      - rsync-ai.mcp=true
      - rsync-ai.connector=mysql
      - rsync-ai.connector_version=v1.0.0
    environment:
      - PORT=8000
      - MCP_PORT=8000
      - MCP_HTTP_MODE=true
      - DOCKER_CONTAINER=true
      - LOG_FORMAT=json
      - LOG_LEVEL=info
      - ENVIRONMENT=docker
      - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      start_period: 10s
      retries: 3
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    mem_limit: ${MCP_MEMORY_LIMIT:-512m}
    pids_limit: ${MCP_PIDS_LIMIT:-512}
    logging:
      driver: json-file
      options:
        max-size: ${MCP_LOG_MAX_SIZE:-10m}
        max-file: "${MCP_LOG_MAX_FILE:-3}"
    networks:
      rsync-network:
        aliases:
          - rsync-ai-mysql-mcp
  notion-rest-v1-0-0-mcp:
    build:
      context: ./shared/mcp-connectors/public/notion-rest/versions/v1.0.0
      dockerfile: Dockerfile
      additional_contexts:
        shared: ./shared/mcp-connectors/public
    image: mcp-notion-rest:v1.0.0
    container_name: rsync-ai-notion-rest-v1-0-0-mcp
    labels:
      - rsync-ai.mcp=true
      - rsync-ai.connector=notion-rest
      - rsync-ai.connector_version=v1.0.0
    environment:
      - PORT=8000
      - MCP_PORT=8000
      - MCP_HTTP_MODE=true
      - DOCKER_CONTAINER=true
      - LOG_FORMAT=json
      - LOG_LEVEL=info
      - ENVIRONMENT=docker
      - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      start_period: 10s
      retries: 3
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    mem_limit: ${MCP_MEMORY_LIMIT:-512m}
    pids_limit: ${MCP_PIDS_LIMIT:-512}
    logging:
      driver: json-file
      options:
        max-size: ${MCP_LOG_MAX_SIZE:-10m}
        max-file: "${MCP_LOG_MAX_FILE:-3}"
    networks:
      rsync-network:
        aliases:
          - rsync-ai-notion-rest-mcp
  oracle-v1-0-0-mcp:
    build:
      context: ./shared/mcp-connectors/public/database/oracle/versions/v1.0.0
      dockerfile: Dockerfile
      additional_contexts:
        shared: ./shared/mcp-connectors/public
    image: mcp-oracle:v1.0.0
    container_name: rsync-ai-oracle-v1-0-0-mcp
    labels:
      - rsync-ai.mcp=true
      - rsync-ai.connector=oracle
      - rsync-ai.connector_version=v1.0.0
    environment:
      - PORT=8000
      - MCP_PORT=8000
      - MCP_HTTP_MODE=true
      - DOCKER_CONTAINER=true
      - LOG_FORMAT=json
      - LOG_LEVEL=info
      - ENVIRONMENT=docker
      - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      start_period: 10s
      retries: 3
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    mem_limit: ${MCP_MEMORY_LIMIT:-512m}
    pids_limit: ${MCP_PIDS_LIMIT:-512}
    logging:
      driver: json-file
      options:
        max-size: ${MCP_LOG_MAX_SIZE:-10m}
        max-file: "${MCP_LOG_MAX_FILE:-3}"
    networks:
      rsync-network:
        aliases:
          - rsync-ai-oracle-mcp
  postgresql-v1-0-0-mcp:
    build:
      context: ./shared/mcp-connectors/public/postgresql/versions/v1.0.0
      dockerfile: Dockerfile
      additional_contexts:
        shared: ./shared/mcp-connectors/public
    image: mcp-postgresql:v1.0.0
    container_name: rsync-ai-postgresql-v1-0-0-mcp
    labels:
      - rsync-ai.mcp=true
      - rsync-ai.connector=postgresql
      - rsync-ai.connector_version=v1.0.0
    environment:
      - PORT=8000
      - MCP_PORT=8000
      - MCP_HTTP_MODE=true
      - DOCKER_CONTAINER=true
      - LOG_FORMAT=json
      - LOG_LEVEL=info
      - ENVIRONMENT=docker
      - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      start_period: 10s
      retries: 3
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    mem_limit: ${MCP_MEMORY_LIMIT:-512m}
    pids_limit: ${MCP_PIDS_LIMIT:-512}
    logging:
      driver: json-file
      options:
        max-size: ${MCP_LOG_MAX_SIZE:-10m}
        max-file: "${MCP_LOG_MAX_FILE:-3}"
    networks:
      rsync-network:
        aliases:
          - rsync-ai-postgresql-mcp
  redshift-v1-0-0-mcp:
    build:
      context: ./shared/mcp-connectors/public/redshift/versions/v1.0.0
      dockerfile: Dockerfile
      additional_contexts:
        shared: ./shared/mcp-connectors/public
    image: mcp-redshift:v1.0.0
    container_name: rsync-ai-redshift-v1-0-0-mcp
    labels:
      - rsync-ai.mcp=true
      - rsync-ai.connector=redshift
      - rsync-ai.connector_version=v1.0.0
    environment:
      - PORT=8000
      - MCP_PORT=8000
      - MCP_HTTP_MODE=true
      - DOCKER_CONTAINER=true
      - LOG_FORMAT=json
      - LOG_LEVEL=info
      - ENVIRONMENT=docker
      - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      start_period: 10s
      retries: 3
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    mem_limit: ${MCP_MEMORY_LIMIT:-512m}
    pids_limit: ${MCP_PIDS_LIMIT:-512}
    logging:
      driver: json-file
      options:
        max-size: ${MCP_LOG_MAX_SIZE:-10m}
        max-file: "${MCP_LOG_MAX_FILE:-3}"
    networks:
      rsync-network:
        aliases:
          - rsync-ai-redshift-mcp
  sample-data-v1-0-0-mcp:
    build:
      context: ./shared/mcp-connectors/public/sample-data/versions/v1.0.0
      dockerfile: Dockerfile
      additional_contexts:
        shared: ./shared/mcp-connectors/public
    image: mcp-sample-data:v1.0.0
    container_name: rsync-ai-sample-data-v1-0-0-mcp
    labels:
      - rsync-ai.mcp=true
      - rsync-ai.connector=sample-data
      - rsync-ai.connector_version=v1.0.0
    environment:
      - PORT=8000
      - MCP_PORT=8000
      - MCP_HTTP_MODE=true
      - DOCKER_CONTAINER=true
      - LOG_FORMAT=json
      - LOG_LEVEL=info
      - ENVIRONMENT=docker
      - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      start_period: 10s
      retries: 3
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    mem_limit: ${MCP_MEMORY_LIMIT:-512m}
    pids_limit: ${MCP_PIDS_LIMIT:-512}
    logging:
      driver: json-file
      options:
        max-size: ${MCP_LOG_MAX_SIZE:-10m}
        max-file: "${MCP_LOG_MAX_FILE:-3}"
    networks:
      rsync-network:
        aliases:
          - rsync-ai-sample-data-mcp
  shopify-admin-graphql-v1-0-0-mcp:
    build:
      context: ./shared/mcp-connectors/public/shopify-admin-graphql/versions/v1.0.0
      dockerfile: Dockerfile
      additional_contexts:
        shared: ./shared/mcp-connectors/public
    image: mcp-shopify-admin-graphql:v1.0.0
    container_name: rsync-ai-shopify-admin-graphql-v1-0-0-mcp
    labels:
      - rsync-ai.mcp=true
      - rsync-ai.connector=shopify-admin-graphql
      - rsync-ai.connector_version=v1.0.0
    environment:
      - PORT=8000
      - MCP_PORT=8000
      - MCP_HTTP_MODE=true
      - DOCKER_CONTAINER=true
      - LOG_FORMAT=json
      - LOG_LEVEL=info
      - ENVIRONMENT=docker
      - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      start_period: 10s
      retries: 3
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    mem_limit: ${MCP_MEMORY_LIMIT:-512m}
    pids_limit: ${MCP_PIDS_LIMIT:-512}
    logging:
      driver: json-file
      options:
        max-size: ${MCP_LOG_MAX_SIZE:-10m}
        max-file: "${MCP_LOG_MAX_FILE:-3}"
    networks:
      rsync-network:
        aliases:
          - rsync-ai-shopify-admin-graphql-mcp
  snowflake-v1-0-0-mcp:
    build:
      context: ./shared/mcp-connectors/public/database/snowflake/versions/v1.0.0
      dockerfile: Dockerfile
      additional_contexts:
        shared: ./shared/mcp-connectors/public
    image: mcp-snowflake:v1.0.0
    container_name: rsync-ai-snowflake-v1-0-0-mcp
    labels:
      - rsync-ai.mcp=true
      - rsync-ai.connector=snowflake
      - rsync-ai.connector_version=v1.0.0
    environment:
      - PORT=8000
      - MCP_PORT=8000
      - MCP_HTTP_MODE=true
      - DOCKER_CONTAINER=true
      - LOG_FORMAT=json
      - LOG_LEVEL=info
      - ENVIRONMENT=docker
      - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      start_period: 10s
      retries: 3
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    mem_limit: ${MCP_MEMORY_LIMIT:-512m}
    pids_limit: ${MCP_PIDS_LIMIT:-512}
    logging:
      driver: json-file
      options:
        max-size: ${MCP_LOG_MAX_SIZE:-10m}
        max-file: "${MCP_LOG_MAX_FILE:-3}"
    networks:
      rsync-network:
        aliases:
          - rsync-ai-snowflake-mcp
  sqlserver-v1-0-0-mcp:
    build:
      context: ./shared/mcp-connectors/public/database/sqlserver/versions/v1.0.0
      dockerfile: Dockerfile
      additional_contexts:
        shared: ./shared/mcp-connectors/public
    image: mcp-sqlserver:v1.0.0
    container_name: rsync-ai-sqlserver-v1-0-0-mcp
    labels:
      - rsync-ai.mcp=true
      - rsync-ai.connector=sqlserver
      - rsync-ai.connector_version=v1.0.0
    environment:
      - PORT=8000
      - MCP_PORT=8000
      - MCP_HTTP_MODE=true
      - DOCKER_CONTAINER=true
      - LOG_FORMAT=json
      - LOG_LEVEL=info
      - ENVIRONMENT=docker
      - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      start_period: 10s
      retries: 3
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    mem_limit: ${MCP_MEMORY_LIMIT:-512m}
    pids_limit: ${MCP_PIDS_LIMIT:-512}
    logging:
      driver: json-file
      options:
        max-size: ${MCP_LOG_MAX_SIZE:-10m}
        max-file: "${MCP_LOG_MAX_FILE:-3}"
    networks:
      rsync-network:
        aliases:
          - rsync-ai-sqlserver-mcp
  stripe-v1-0-0-mcp:
    build:
      context: ./shared/mcp-connectors/public/stripe/versions/v1.0.0
      dockerfile: Dockerfile
      additional_contexts:
        shared: ./shared/mcp-connectors/public
    image: mcp-stripe:v1.0.0
    container_name: rsync-ai-stripe-v1-0-0-mcp
    labels:
      - rsync-ai.mcp=true
      - rsync-ai.connector=stripe
      - rsync-ai.connector_version=v1.0.0
    environment:
      - PORT=8000
      - MCP_PORT=8000
      - MCP_HTTP_MODE=true
      - DOCKER_CONTAINER=true
      - LOG_FORMAT=json
      - LOG_LEVEL=info
      - ENVIRONMENT=docker
      - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      start_period: 10s
      retries: 3
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    mem_limit: ${MCP_MEMORY_LIMIT:-512m}
    pids_limit: ${MCP_PIDS_LIMIT:-512}
    logging:
      driver: json-file
      options:
        max-size: ${MCP_LOG_MAX_SIZE:-10m}
        max-file: "${MCP_LOG_MAX_FILE:-3}"
    networks:
      rsync-network:
        aliases:
          - rsync-ai-stripe-mcp
  widgets-graphql-v1-0-0-mcp:
    build:
      context: ./shared/mcp-connectors/public/widgets-graphql/versions/v1.0.0
      dockerfile: Dockerfile
      additional_contexts:
        shared: ./shared/mcp-connectors/public
    image: mcp-widgets-graphql:v1.0.0
    container_name: rsync-ai-widgets-graphql-v1-0-0-mcp
    labels:
      - rsync-ai.mcp=true
      - rsync-ai.connector=widgets-graphql
      - rsync-ai.connector_version=v1.0.0
    environment:
      - PORT=8000
      - MCP_PORT=8000
      - MCP_HTTP_MODE=true
      - DOCKER_CONTAINER=true
      - LOG_FORMAT=json
      - LOG_LEVEL=info
      - ENVIRONMENT=docker
      - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      start_period: 10s
      retries: 3
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    mem_limit: ${MCP_MEMORY_LIMIT:-512m}
    pids_limit: ${MCP_PIDS_LIMIT:-512}
    logging:
      driver: json-file
      options:
        max-size: ${MCP_LOG_MAX_SIZE:-10m}
        max-file: "${MCP_LOG_MAX_FILE:-3}"
    networks:
      rsync-network:
        aliases:
          - rsync-ai-widgets-graphql-mcp
networks:
  rsync-network:
    external: true
    name: rsync-ai-mcp