Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # docker-compose.yml
- version: "3.4"
- services:
- php:
- build:
- context: .
- target: app_php
- args:
- SYMFONY_VERSION: ${SYMFONY_VERSION:-}
- STABILITY: ${STABILITY:-stable}
- restart: unless-stopped
- volumes:
- - php_socket:/var/run/php
- healthcheck:
- interval: 10s
- timeout: 3s
- retries: 3
- start_period: 30s
- environment:
- # Run "composer require symfony/orm-pack" to install and configure Doctrine ORM
- DATABASE_URL: mysql://${MYSQL_USER:-app}:${MYSQL_PASSWORD:-!ChangeMe!}@database:3306/${MYSQL_DATABASE:-app}?serverVersion=5.7&charset=utf8mb4
- # DATABASE_URL: postgresql://${POSTGRES_USER:-app}:${POSTGRES_PASSWORD:-!ChangeMe!}@database:5432/${POSTGRES_DB:-app}?serverVersion=${POSTGRES_VERSION:-14}
- # Run "composer require symfony/mercure-bundle" to install and configure the Mercure integration
- MERCURE_URL: ${CADDY_MERCURE_URL:-http://caddy/.well-known/mercure}
- MERCURE_PUBLIC_URL: https://${SERVER_NAME:-localhost}/.well-known/mercure
- MERCURE_JWT_SECRET: ${CADDY_MERCURE_JWT_SECRET:-!ChangeThisMercureHubJWTSecretKey!}
- caddy:
- build:
- context: .
- target: app_caddy
- depends_on:
- - php
- environment:
- SERVER_NAME: ${SERVER_NAME:-localhost, caddy:80}
- MERCURE_PUBLISHER_JWT_KEY: ${CADDY_MERCURE_JWT_SECRET:-!ChangeThisMercureHubJWTSecretKey!}
- MERCURE_SUBSCRIBER_JWT_KEY: ${CADDY_MERCURE_JWT_SECRET:-!ChangeThisMercureHubJWTSecretKey!}
- restart: unless-stopped
- volumes:
- - php_socket:/var/run/php
- - 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: mysql:5.7
- environment:
- MYSQL_DATABASE: ${MYSQL_DATABASE:-app}
- MYSQL_PASSWORD: ${MYSQL_PASSWORD:-!ChangeMe!}
- MYSQL_USER: ${MYSQL_USER:-app}
- MYSQL_RANDOM_ROOT_PASSWORD: "yes"
- volumes:
- - db-data:/var/lib/mysqld/data:rw
- # You may use a bind-mounted host directory instead, so that it is harder to accidentally remove the volume and lose all your data!
- # - ./docker/db/data:/var/lib/postgresql/data:rw
- ports:
- - "3306:3306"
- ###< doctrine/doctrine-bundle ###
- volumes:
- php_socket:
- caddy_data:
- caddy_config:
- ###> symfony/mercure-bundle ###
- ###< symfony/mercure-bundle ###
- ###> doctrine/doctrine-bundle ###
- db-data:
- ###< doctrine/doctrine-bundle ###
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement