docker-compose.yml
Rama main · réplica de lectura del repositorio original.
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: