--- services: # https://hub.docker.com/_/php/ yii2-queue-php: container_name: yii2-queue-php build: context: . dockerfile: ./Dockerfile args: PHP_VERSION: ${PHP_VERSION:-8.3} volumes: - ./runtime/.composer:/root/.composer - .:/code dns: - 8.8.8.8 - 4.4.4.4 environment: COMPOSER_ALLOW_SUPERUSER: 1 XDEBUG_MODE: ${XDEBUG_MODE:-off} # Setup "debug" to enable debugging XDEBUG_CONFIG: "client_host=host.docker.internal" XDEBUG_TRIGGER: ${XDEBUG_TRIGGER:-yes} PHP_IDE_CONFIG: "serverName=yii2-queue" MYSQL_HOST: mysql MYSQL_USER: yii2_queue_test MYSQL_PASSWORD: yii2_queue_test MYSQL_DATABASE: yii2_queue_test POSTGRES_HOST: postgres POSTGRES_USER: yii2_queue_test POSTGRES_PASSWORD: yii2_queue_test POSTGRES_DB: yii2_queue_test REDIS_HOST: redis REDIS_DB: 1 RABBITMQ_HOST: rabbitmq RABBITMQ_USER: guest RABBITMQ_PASSWORD: guest BEANSTALK_HOST: beanstalk GEARMAN_HOST: gearmand ACTIVEMQ_HOST: activemq ACTIVEMQ_USER: artemis ACTIVEMQ_PASSWORD: artemis ACTIVEMQ_PORT: 61616 AWS_KEY: ${AWS_KEY:-admin} AWS_SECRET: ${AWS_SECRET:-admin} AWS_REGION: ${AWS_REGION:-us-east-1} AWS_SQS_ENDPOINT: ${AWS_SQS_ENDPOINT:-http://localstack:4566} AWS_SQS_URL: ${AWS_SQS_URL:-http://localstack:4566/000000000000/yii2-queue} AWS_SQS_FIFO_URL: ${AWS_SQS_FIFO_URL:-http://localstack:4566/000000000000/yii2-queue.fifo} AWS_SQS_FIFO_MESSAGE_GROUP_ID: ${AWS_SQS_FIFO_MESSAGE_GROUP_ID:-default} depends_on: - mysql - postgres - redis - rabbitmq - beanstalk - gearmand - activemq - localstack networks: net: {} extra_hosts: - host.docker.internal:${HOST_IP:-host-gateway} # https://hub.docker.com/_/mysql/ mysql: image: mysql:5.7.44 ports: - "3307:3306" environment: MYSQL_ALLOW_EMPTY_PASSWORD: 1 MYSQL_USER: yii2_queue_test MYSQL_PASSWORD: yii2_queue_test MYSQL_DATABASE: yii2_queue_test networks: net: {} ulimits: nofile: soft: 262144 hard: 262144 # https://hub.docker.com/_/postgres/ postgres: image: postgres:10.4 ports: - "5433:5432" environment: POSTGRES_USER: yii2_queue_test POSTGRES_PASSWORD: yii2_queue_test POSTGRES_DB: yii2_queue_test networks: net: {} # https://hub.docker.com/_/redis/ redis: image: redis:4.0 ports: - "6380:6379" networks: net: {} # https://hub.docker.com/_/rabbitmq/ rabbitmq: image: rabbitmq:3.9.13-management-alpine ports: - "5673:5672" - "15673:15672" networks: net: {} # https://hub.docker.com/r/rayyounghong/beanstalkd/ beanstalk: image: rayyounghong/beanstalkd ports: - "11301:11300" networks: net: {} # https://hub.docker.com/r/artefactual/gearmand/ gearmand: image: artefactual/gearmand ports: - "4731:4730" networks: net: {} # https://hub.docker.com/r/apache/activemq-artemis activemq: image: apache/activemq-artemis:latest-alpine ports: - "61616:61616" - "8161:8161" networks: net: {} # https://hub.docker.com/r/localstack/localstack localstack: container_name: yii2-queue-localstack image: localstack/localstack:4.14.0 restart: always ports: - "4566:4566" environment: AWS_DEFAULT_REGION: us-east-1 AWS_ACCESS_KEY_ID: admin AWS_SECRET_ACCESS_KEY: admin SERVICES: sqs DISABLE_CORS_CHECKS: 1 networks: net: {} networks: net: driver: bridge name: yii2_queue_net ipam: config: - subnet: 172.18.0.0/16