# Development stack: builds the dev image and mounts the source. # docker compose -f compose.yaml -f compose.dev.yaml up -d --wait x-dev-build: &dev-build image: pl_mail-dev:latest build: context: . target: frankenphp_dev services: secrets-init: <<: *dev-build php: <<: *dev-build volumes: - ./:/app - app_var:/app/var - app_attachments:/app/var/attachments - app_raw:/app/var/raw - app_uploads:/app/var/uploads - ./frankenphp/Caddyfile:/etc/frankenphp/Caddyfile:ro - ./frankenphp/conf.d/20-app.dev.ini:/usr/local/etc/php/conf.d/20-app.dev.ini:ro environment: APP_ENV: ${APP_ENV:-dev} XDEBUG_MODE: "${XDEBUG_MODE:-off}" extra_hosts: - host.docker.internal:host-gateway tty: true worker: <<: *dev-build volumes: - ./:/app - app_attachments:/app/var/attachments - app_raw:/app/var/raw - app_uploads:/app/var/uploads environment: APP_ENV: ${APP_ENV:-dev} database: ports: - "5432:5432" adminer: image: adminer restart: unless-stopped ports: - "8080:8080" environment: ADMINER_DEFAULT_SERVER: database tailwind: <<: *dev-build volumes: - .:/app - app_secrets:/app/var/secrets - app_var:/app/var command: php bin/console tailwind:build --watch healthcheck: disable: true depends_on: - php volumes: app_var: app_attachments: app_raw: app_uploads: