Ctrl K
ComunidadGuías…

docker-compose.yml

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

Archivo original ↗Preguntar a KiBot
services:
  postgres:
    # Production runs AWS RDS for PostgreSQL 17.9. Dev/CI are intentionally
    # ahead on 18, to validate the 18.4 major upgrade before it ships to RDS.
    image: postgres:18-alpine
    environment:
      - POSTGRES_HOST_AUTH_METHOD=trust
    ports:
      - "5432:5432"
    volumes:
      - pg_data:/var/lib/postgresql/18/docker
    healthcheck:
      test: ["CMD-SHELL", "pg_isready", "-d", "db_prod"]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 10s

  rabbitmq:
    # Pinned to match production (Amazon MQ for RabbitMQ 4.2), which is the
    # latest version Amazon MQ offers. The floating `4-alpine` tag now resolves
    # to 4.3, which changes redelivery accounting.
    image: rabbitmq:4.2-alpine
    ports:
      - "15672:15672"
      - "5672:5672"
    volumes:
      - "./rabbitmq/enabled_plugins:/etc/rabbitmq/enabled_plugins"
    healthcheck:
      test: ["CMD-SHELL", "rabbitmq-diagnostics", "-q", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 10s

  redis:
    command: redis-server --appendonly yes
    # Last time I have checked, production is running 6.2.14
    image: redis:6-alpine
    ports:
      - "6380:6379"
    volumes:
      - redis_data:/data
    healthcheck:
      test: ["CMD-SHELL", "redis-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 10s

  dynamodb:
    image: amazon/dynamodb-local
    ports:
      - "8000:8000"
    command: "-jar DynamoDBLocal.jar -sharedDb -inMemory"
    healthcheck:
      test: ["CMD-SHELL", "curl", "-f", "http://localhost:8000"]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 10s

volumes:
  pg_data:
  redis_data: