version: "3.4"

# Development environment override
services:
  php:
    build:
      target: app_php_dev
    volumes:
      - ./api:/srv/app
      - ./api/docker/php/conf.d/app.dev.ini:/usr/local/etc/php/conf.d/app.dev.ini:ro
      # If you develop on Mac or Windows you can remove the vendor/ directory 
      #  from the bind-mount for better performance by enabling the next line:
      #- /srv/app/vendor
    environment:
      # See https://xdebug.org/docs/all_settings#mode 
      XDEBUG_MODE: "${XDEBUG_MODE:-off}"
    extra_hosts:
      # Ensure that host.docker.internal is correctly defined on Linux
      - host.docker.internal:host-gateway

  pwa:
    build:
      context: ./pwa
      target: dev 
    volumes:
      - ./pwa:/srv/app
    environment:
      API_PLATFORM_CREATE_CLIENT_ENTRYPOINT: http://caddy
      API_PLATFORM_CREATE_CLIENT_OUTPUT: .
      # On Linux, you may want to comment the following line for improved performance
      WATCHPACK_POLLING: true

  caddy:
    volumes:
      - ./api/public:/srv/app/public:ro
      - ./api/docker/caddy/Caddyfile:/etc/caddy/Caddyfile:ro
    environment:
      MERCURE_EXTRA_DIRECTIVES: demo

###> doctrine/doctrine-bundle ###
  database:
    ports:
      - target: 5432
        published: 5432
        protocol: tcp
###< doctrine/doctrine-bundle ###

###> symfony/mercure-bundle ###
###< symfony/mercure-bundle ###
