version: "3" services: php: image: ${IMAGES_PREFIX:-}app-php restart: unless-stopped depends_on: - database environment: SERVER_NAME: ${SERVER_NAME:-localhost}, php:80 MERCURE_PUBLISHER_JWT_KEY: ${CADDY_MERCURE_JWT_SECRET:-!ChangeThisMercureHubJWTSecretKey!} MERCURE_SUBSCRIBER_JWT_KEY: ${CADDY_MERCURE_JWT_SECRET:-!ChangeThisMercureHubJWTSecretKey!} # Run "composer require symfony/orm-pack" to install and configure Doctrine ORM #DATABASE_URL: postgresql://${POSTGRES_USER:-app}:${POSTGRES_PASSWORD:-!ChangeMe!}@database:5432/${POSTGRES_DB:-app}?serverVersion=${POSTGRES_VERSION:-15}&charset=${POSTGRES_CHARSET:-utf8} DATABASE_URL: mysql://root:password@database:3306/snips?serverVersion=11.7.2-MariaDB # Run "composer require symfony/mercure-bundle" to install and configure the Mercure integration MERCURE_URL: ${CADDY_MERCURE_URL:-http://php/.well-known/mercure} MERCURE_PUBLIC_URL: ${CADDY_MERCURE_PUBLIC_URL:-https://${SERVER_NAME:-localhost}:${HTTPS_PORT:-443}/.well-known/mercure} MERCURE_JWT_SECRET: ${CADDY_MERCURE_JWT_SECRET:-!ChangeThisMercureHubJWTSecretKey!} # The two next lines can be removed after initial installation SYMFONY_VERSION: ${SYMFONY_VERSION:-} STABILITY: ${STABILITY:-stable} volumes: - caddy_data:/data - caddy_config:/config ports: # HTTP - target: 80 published: ${HTTP_PORT:-80} protocol: tcp # HTTPS - target: 443 published: ${HTTPS_PORT:-443} protocol: tcp # HTTP/3 - target: 443 published: ${HTTP3_PORT:-443} protocol: udp # Mercure is installed as a Caddy module, prevent the Flex recipe from installing another service ###> symfony/mercure-bundle ### ###< symfony/mercure-bundle ### ###> doctrine/doctrine-bundle ### database: image: 'mariadb:latest' environment: MARIADB_USER: app MARIADB_PASSWORD: password MARIADB_DATABASE: snips MARIADB_ROOT_PASSWORD: password ports: # To allow the host machine to access the ports below, modify the lines below. # For example, to allow the host to connect to port 3306 on the container, you would change # "3306" to "3306:3306". Where the first port is exposed to the host and the second is the container port. # See https://docs.docker.com/compose/compose-file/compose-file-v3/#ports for more information. - '3306' volumes: - database_data:/var/lib/mysql ###< doctrine/doctrine-bundle ### volumes: caddy_data: caddy_config: ###> symfony/mercure-bundle ### ###< symfony/mercure-bundle ### ###> doctrine/doctrine-bundle ### database_data: ###< doctrine/doctrine-bundle ###