DiscoverVulcain | Server Push Web APIs


Install the hub

Managed and HA Versions

Managed and High Availability versions of are available, give them a try!

Prebuilt Binary

The hub is available as a custom build of the Caddy web server including the module.

First, download the archive corresponding to your operating system and architecture from the release page, extract the archive and open a shell in the resulting directory.

Note: Mac OS users must use the Darwin binary.

Then, on Linux and Mac OS X, run:

./mercure run -config

On Windows, start PowerShell, go into the extracted directory and run:

$env:MERCURE_PUBLISHER_JWT_KEY='!ChangeMe!'; $env:MERCURE_SUBSCRIBER_JWT_KEY='!ChangeMe!'; .\mercure.exe run -config

The Windows Defender Firewall will ask you if you want to allow mercure.exe to communicate through it. Allow it for both public and private networks. If you use an antivirus, or another firewall software, be sure to whitelist mercure.exe.

The server is now available on https://localhost, with the demo mode enabled. Because the allow_anonymous directive is set in the provided configuration, anonymous subscribers are allowed.

To run the server in production, run this command:

./mercure run

Learn how to configure the hub.

When the server is up and running, the following endpoints are available:

  • POST to publish updates
  • GET to subscribe to updates

In demo mode, an UI is also available:

See the protocol for more details about these endpoints.

To compile the development version, see

Custom Caddy Build

It's also possible to build your own binaries containing other Caddy modules using xcaddy.

xcaddy build --with

Docker Image

A Docker image is available on Docker Hub. The following command is enough to get a working server in demo mode:

docker run \
    -p 80:80 \
    -p 443:443 \
    dunglas/mercure caddy run -config /etc/caddy/

The server, in demo mode, is available on https://localhost. Anonymous subscribers are allowed.

In production, simply run:

docker run \
    -p 80:80 \
    -p 443:443 \

The Docker image is based on the Caddy server Docker image. See the configuration section and the documentation of the Docker image for Caddy to learn how to configure it to fit your needs.

Arch Linux is available on the AUR, you can install it with your favorite AUR wrapper:

yay -S mercure

Or download the PKGBUILD and compile and install it: makepkg -sri.