dunglas/mercure

By dunglas

Updated 10 days ago

Mercure, a protocol for server-sent live updates: reference implementation

Image
19

10M+

Mercure: Real-time Made Easy

Mercure is an open solution for real-time communications designed to be fast, reliable, and battery-efficient. It is a modern and convenient replacement for both the Websocket API and the higher-level libraries and services relying on it.

Mercure is especially useful to add streaming and asynchronous capabilities to REST and GraphQL APIs. Because it is a thin layer on top of HTTP and SSE, Mercure is natively supported by modern web browsers, mobile applications, and IoT devices.

A free (as in beer, and as in speech) reference server as well as a hosted service are available.

Subscriptions Schema

The protocol is maintained in this repository and is also available as an Internet Draft.

A reference, production-grade, implementation of a Mercure hub (the server) is also available in this repository. It's free software (AGPL) written in Go. It is provided along with a library that can be used in any Go application to implement the Mercure protocol directly (without a hub) and an official Docker image.

In addition, a managed and high-scalability version of the Mercure.rocks hub is available on Mercure.rocks.

License and Copyright

See https://mercure.rocks/docs/hub/license.

Credits

Created by Kévin Dunglas. Graphic design by Laury Sorriaux. Sponsored by Les-Tilleuls.coop.

Docker Pull Command

docker pull dunglas/mercure