services: ###> doctrine/doctrine-bundle ### database: image: postgres:${POSTGRES_VERSION:-16}-alpine environment: POSTGRES_DB: ${POSTGRES_DB:-app} # You should definitely change the password in production POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-!ChangeMe!} POSTGRES_USER: ${POSTGRES_USER:-app} healthcheck: test: ["CMD", "pg_isready", "-d", "${POSTGRES_DB:-app}", "-U", "${POSTGRES_USER:-app}"] timeout: 5s retries: 5 start_period: 60s volumes: - database_data:/var/lib/postgresql/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 ###< doctrine/doctrine-bundle ### ###> symfony/mercure-bundle ### mercure: image: dunglas/mercure restart: unless-stopped environment: # Uncomment the following line to disable HTTPS, #SERVER_NAME: ':80' MERCURE_PUBLISHER_JWT_KEY: '!ChangeThisMercureHubJWTSecretKey!' MERCURE_SUBSCRIBER_JWT_KEY: '!ChangeThisMercureHubJWTSecretKey!' # Set the URL of your Symfony project (without trailing slash!) as value of the cors_origins directive MERCURE_EXTRA_DIRECTIVES: | cors_origins http://127.0.0.1:8000 # Comment the following line to disable the development mode command: /usr/bin/caddy run --config /etc/caddy/dev.Caddyfile healthcheck: test: ["CMD", "curl", "-f", "https://localhost/healthz"] timeout: 5s retries: 5 start_period: 60s volumes: - mercure_data:/data - mercure_config:/config ###< symfony/mercure-bundle ### volumes: ###> doctrine/doctrine-bundle ### database_data: ###< doctrine/doctrine-bundle ### ###> symfony/mercure-bundle ### mercure_data: mercure_config: ###< symfony/mercure-bundle ###