version: '2' services: dev: # when image publishing gets sorted: # image: enqueue/dev:${PHP_VERSION:-7.4} build: context: docker args: PHP_VERSION: "${PHP_VERSION:-7.4}" depends_on: - rabbitmq - mysql - postgres - redis - beanstalkd - gearmand - kafka - zookeeper - google-pubsub - rabbitmqssl - mongo - thruway - localstack volumes: - './:/mqdev' environment: - AMQP_DSN=amqp://guest:guest@rabbitmq:5672/mqdev - RABBITMQ_AMQP_DSN=amqp+rabbitmq://guest:guest@rabbitmq:5672/mqdev - AMQPS_DSN=amqps://guest:guest@rabbitmqssl:5671 - STOMP_DSN=stomp://guest:guest@rabbitmq:61613/mqdev - RABITMQ_STOMP_DSN=stomp+rabbitmq://guest:guest@rabbitmq:61613/mqdev - RABBITMQ_MANAGMENT_DSN=http://guest:guest@rabbitmq:15672/mqdev - DOCTRINE_DSN=mysql://root:rootpass@mysql/mqdev - DOCTRINE_POSTGRES_DSN=postgres://postgres:pass@postgres/template1 - MYSQL_DSN=mysql://root:rootpass@mysql/mqdev - POSTGRES_DSN=postgres://postgres:pass@postgres/postgres - PREDIS_DSN=redis+predis://redis - PHPREDIS_DSN=redis+phpredis://redis - GPS_DSN=gps:?projectId=mqdev&emulatorHost=http://google-pubsub:8085 - SQS_DSN=sqs:?key=key&secret=secret®ion=us-east-1&endpoint=http://localstack:4576&version=latest - SNS_DSN=sns:?key=key&secret=secret®ion=us-east-1&endpoint=http://localstack:4575&version=latest - SNSQS_DSN=snsqs:?key=key&secret=secret®ion=us-east-1&sns_endpoint=http://localstack:4575&sqs_endpoint=http://localstack:4576&version=latest - WAMP_DSN=wamp://thruway:9090 - REDIS_HOST=redis - REDIS_PORT=6379 - AWS_SQS_KEY=key - AWS_SQS_SECRET=secret - AWS_SQS_REGION=us-east-1 - AWS_SQS_ENDPOINT=http://localstack:4576 - AWS_SQS_VERSION=latest - BEANSTALKD_DSN=beanstalk://beanstalkd:11300 - GEARMAN_DSN=gearman://gearmand:4730 - MONGO_DSN=mongodb://mongo - RDKAFKA_HOST=kafka - RDKAFKA_PORT=9092 rabbitmq: image: 'enqueue/rabbitmq:3.7' environment: - RABBITMQ_DEFAULT_USER=guest - RABBITMQ_DEFAULT_PASS=guest - RABBITMQ_DEFAULT_VHOST=mqdev ports: - "15677:15672" rabbitmqssl: image: 'enqueue/rabbitmq-ssl:latest' environment: - 'RABBITMQ_DEFAULT_USER=guest' - 'RABBITMQ_DEFAULT_PASS=guest' beanstalkd: image: 'jonbaldie/beanstalkd' gearmand: image: 'artefactual/gearmand' redis: image: 'redis:3' ports: - "6379:6379" mysql: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: rootpass MYSQL_DATABASE: mqdev postgres: image: postgres environment: POSTGRES_PASSWORD: pass generate-changelog: image: enqueue/generate-changelog:latest # build: { context: docker, dockerfile: Dockerfile.generate-changelog } volumes: - ./:/mqdev zookeeper: image: 'wurstmeister/zookeeper' ports: - '2181:2181' kafka: image: 'wurstmeister/kafka' ports: - '9092:9092' environment: KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181' KAFKA_ADVERTISED_HOST_NAME: kafka KAFKA_ADVERTISED_PORT: 9092 google-pubsub: image: 'google/cloud-sdk:latest' entrypoint: 'gcloud beta emulators pubsub start --host-port=0.0.0.0:8085' mongo: image: mongo:3.7 ports: - "27017:27017" thruway: build: './docker/thruway' ports: - '9090:9090' localstack: image: 'localstack/localstack:0.8.10' ports: - '4576:4576' - '4575:4575' environment: HOSTNAME_EXTERNAL: 'localstack' SERVICES: 'sqs,sns' influxdb: image: 'influxdb:latest' chronograf: image: 'chronograf:latest' entrypoint: 'chronograf --influxdb-url=http://influxdb:8086' ports: - '8888:8888' grafana: image: 'grafana/grafana:latest' ports: - '3000:3000'