services: nginx: build: context: . dockerfile: docker/nginx/Dockerfile ports: - "8888:80" volumes: - ./docker/config/nginx.conf:/etc/nginx/nginx.conf:ro - ./src:/var/www/html/:z depends_on: - php_sender php_sender: build: context: . dockerfile: docker/php/Dockerfile user: $UID ports: - "9000" volumes: - ./docker/config/php.ini:/usr/local/etc/php/php.ini - ./src:/var/www/html/:z depends_on: - php_receiver - composer php_receiver: build: context: . dockerfile: docker/php_receiver/Dockerfile command: "php /app/receive.php" volumes: - ./src:/app depends_on: composer: condition: service_started rabbitmq: condition: service_healthy links: - rabbitmq scale: 5 rabbitmq: build: context: . dockerfile: docker/rabbitmq/Dockerfile ports: - "15672:15672" - "5672:5672" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:15672"] interval: 30s timeout: 10s retries: 5 volumes: - rabbitmq-data:/var/lib/rabbitmq composer: build: docker/composer user: $UID volumes: - ./src:/app command: composer install environment: - HOME=/home/composer working_dir: /app volumes: rabbitmq-data: