From 1942af61f2b79f2b5dc7a880838bf70bf7d01002 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dunglas?= Date: Thu, 10 Jun 2021 23:08:42 +0200 Subject: [PATCH] feat: compat with MercureBundle 0.3 (#128) * feat: compat with MercureBundle 0.3 * fix: review --- docker-compose.prod.yml | 5 +++-- docker-compose.yml | 8 +++++--- docs/production.md | 10 ++++------ 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 6925171..079c85d 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -6,8 +6,9 @@ services: environment: APP_ENV: prod APP_SECRET: ${APP_SECRET} + MERCURE_JWT_SECRET: ${CADDY_MERCURE_JWT_SECRET} caddy: environment: - MERCURE_PUBLISHER_JWT_KEY: ${MERCURE_PUBLISHER_JWT_KEY} - MERCURE_SUBSCRIBER_JWT_KEY: ${MERCURE_SUBSCRIBER_JWT_KEY} + MERCURE_PUBLISHER_JWT_KEY: ${CADDY_MERCURE_JWT_SECRET} + MERCURE_SUBSCRIBER_JWT_KEY: ${CADDY_MERCURE_JWT_SECRET} diff --git a/docker-compose.yml b/docker-compose.yml index 8091d69..7a096c5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -20,7 +20,9 @@ services: # Run "composer require symfony/orm-pack" to install and configure Doctrine ORM DATABASE_URL: postgresql://${POSTGRES_USER:-symfony}:${POSTGRES_PASSWORD:-ChangeMe}@database:5432/${POSTGRES_DB:-app}?serverVersion=${POSTGRES_VERSION:-13} # Run "composer require symfony/mercure-bundle" to install and configure the Mercure integration - MERCURE_PUBLISH_URL: ${MERCURE_URL:-http://caddy/.well-known/mercure} + 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:-!ChangeMe!} SYMFONY_VERSION: caddy: @@ -31,8 +33,8 @@ services: - php environment: SERVER_NAME: ${SERVER_NAME:-localhost, caddy:80} - MERCURE_PUBLISHER_JWT_KEY: ${MERCURE_PUBLISHER_JWT_KEY:-!ChangeMe!} - MERCURE_SUBSCRIBER_JWT_KEY: ${MERCURE_SUBSCRIBER_JWT_KEY:-!ChangeMe!} + MERCURE_PUBLISHER_JWT_KEY: ${CADDY_MERCURE_JWT_SECRET:-!ChangeMe!} + MERCURE_SUBSCRIBER_JWT_KEY: ${CADDY_MERCURE_JWT_SECRET:-!ChangeMe!} restart: unless-stopped volumes: - php_socket:/var/run/php diff --git a/docs/production.md b/docs/production.md index 2e46f95..37a19d7 100644 --- a/docs/production.md +++ b/docs/production.md @@ -65,12 +65,11 @@ Go into the directory containing your project (``), and start the ```console SERVER_NAME=your-domain-name.example.com \ APP_SECRET=ChangeMe \ -MERCURE_PUBLISHER_JWT_KEY=ChangeMe \ -MERCURE_SUBSCRIBER_JWT_KEY=ChangeMe \ +CADDY_MERCURE_JWT_SECRET=ChangeMe \ docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d ``` -Be sure to replace `your-domain-name.example.com` by your actual domain name and to set the values of `APP_SECRET`, `MERCURE_PUBLISHER_JWT_KEY` and `MERCURE_SUBSCRIBER_JWT_KEY` to cryptographically secure random values. +Be sure to replace `your-domain-name.example.com` by your actual domain name and to set the values of `APP_SECRET`, `CADDY_MERCURE_JWT_SECRET` to cryptographically secure random values. Your server is up and running, and a Let's Encrypt HTTPS certificate has been automatically generated for you. Go to `https://your-domain-name.example.com` and enjoy! @@ -82,9 +81,8 @@ Alternatively, if you don't want to expose an HTTPS server but only an HTTP one, ```console SERVER_NAME=:80 \ APP_SECRET=ChangeMe \ -MERCURE_PUBLISHER_JWT_KEY=ChangeMe \ -MERCURE_SUBSCRIBER_JWT_KEY=ChangeMe \ -docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d +CADDY_MERCURE_JWT_SECRET=ChangeMe \ +-docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d ``` ## Deploying on Multiple Nodes