Config and utils to manage runtime dependencies for local development
To instantiate the main stack:
docker compose up
Components pre-configured as part of main stack include:
- MongoDB
- Endpoint @
localhost:27017
- Endpoint @
- Mongo Express
- Kafka
- Endpoint @
localhost:29092
- Endpoint @
- Redpanda Console for Kafka
- Redis
- Endpoint @
localhost:6379
- Endpoint @
- Redis Insight
- PostgreSQL
- Endpoint @
localhost:15432
- Endpoint @
- pgAdmin (PostgreSQL admin tool)
- http://localhost:15433/
- login:
me@local.org
, password:password
The main stack consumes ~1.3GB of memory:
By default, Docker Desktop is set to use up to 50% of your host's memory. A machine with 32GB RAM should have plenty of available memory to comfortably run the main stack. On less equipped machines, you may need to adjust how much resources you want to allocate to Docker to run both the main stack and your applications.
To add OpenTelemetry Collector and tools to support observability (o11y):
docker compose -f docker-o11y-compose.yaml up
- OpenTelemetry Collector
- OTLP gRPC receiver:
localhost:4317
- OTLP HTTP receiver:
localhost:4318
- See OTLP Exporter Configuration to use these endpoints with your applications.
- OTLP gRPC receiver:
- Zipkin
Azurite is an open-source emulator for Azure Blob, Queue Storage, and Table Storage APIs. To add Azurite to the stack:
docker compose -f docker-azure-compose.yaml up
LocalStack is an open-source emulator for AWS. To add LocalStack to the stack:
docker compose -f docker-aws-compose.yaml up
To configure TLS locally, use gen-test-certs.sh to generate self-signed certificates. Then set REDIS_TLS_ENABLED=true
in docker-compose.yaml
.
The latest version of the cert generation script can be found in Redis' repo
Notice that because RedisInsight is running inside the same container network as Redis, redis
is used as the hostname instead of localhost.