[symfony/mercure-bundle] Make MERCURE_URL optional to allow use of FrankenPHP's built-in Mercure (#1514)

This commit is contained in:
Stanislau Kviatkouski
2026-03-12 18:01:08 +03:00
committed by GitHub
parent 3f11f2aab6
commit 7fb38165ef
2 changed files with 61 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
mercure:
hubs:
default:
url: '%env(default::MERCURE_URL)%'
public_url: '%env(MERCURE_PUBLIC_URL)%'
jwt:
secret: '%env(MERCURE_JWT_SECRET)%'
publish: '*'

View File

@@ -0,0 +1,53 @@
{
"bundles": {
"Symfony\\Bundle\\MercureBundle\\MercureBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"#1": "See https://symfony.com/doc/current/mercure.html#configuration",
"#2": "The URL of the Mercure hub, used by the app to publish updates (can be a local URL)",
"MERCURE_URL": "https://example.com/.well-known/mercure",
"#3": "The public URL of the Mercure hub, used by the browser to connect",
"MERCURE_PUBLIC_URL": "https://example.com/.well-known/mercure",
"#4": "The secret used to sign the JWTs",
"MERCURE_JWT_SECRET": "!ChangeThisMercureHubJWTSecretKey!"
},
"docker-compose": {
"docker-compose.yml": {
"services": [
"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"
],
"volumes": ["mercure_data:", "mercure_config:"]
},
"docker-compose.override.yml": {
"services": [
"mercure:",
" ports:",
" - \"80\""
]
}
},
"aliases": ["mercure"]
}