# Development environment override
services:
  php:
    build:
      context: ./api
      target: frankenphp_dev
    volumes:
      - ./api:/app
      - /app/var
      - ./api/frankenphp/Caddyfile:/etc/caddy/Caddyfile:ro
      - ./api/frankenphp/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:
      #- /app/vendor
    environment:
      MERCURE_EXTRA_DIRECTIVES: demo
      # 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
    tty: true

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

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

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