
Deploy Mercure on Your Own Server
Mercure is a protocol allowing to push data updates to web browsers and other HTTP clients.
Want to deploy Mercure on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.
What is Mercure?
Mercure is a protocol allowing to push data updates to web browsers and other HTTP clients in a convenient, fast, reliable and battery-efficient way. It is especially useful to publish real-time updates of resources served through web APIs, to reactive web and mobile apps. For documentation, see: https://mercure.rocks/docs Enter your Mercure Configuration parameters and click on next. It will take about a minute for the process to finish.
Self-Host Mercure
Follow these steps to deploy on your own server.
Install Docker
Skip this step if Docker is already installed on your server.
curl -fsSL https://get.docker.com | sh
Configure
Customize the settings below. Defaults work for most cases.
General
Deploy
Copy the configuration and run it on your server.
services:
mercure:
image: dunglas/mercure:v0.13
environment:
MERCURE_EXTRA_DIRECTIVES: subscriptions demo anonymous cors_origins * publish_origins *
MERCURE_PUBLISHER_JWT_KEY: "!ChangeMe!"
MERCURE_SUBSCRIBER_JWT_KEY: "!ChangeMe!"
SERVER_NAME: :80
volumes:
- mercure-mercure-data:/data
- mercure-mercure-config:/config
volumes:
mercure-mercure-data: {}
mercure-mercure-config: {}
Then run:
docker compose up -d
Access
Once started, access your app at http://localhost:80
Why Self-Host Mercure?
Full Data Ownership
Your data stays on your servers. No third-party access.
No Monthly Fees
Pay only for your server. No per-seat or usage charges.
Complete Control
Customize, backup, and scale on your own terms.
Privacy & Compliance
Meet GDPR, HIPAA, or internal security requirements.
Technical Details
Docker Image
dunglas/mercure:${mercure_version}Want to go faster?
Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.
Install on any Linux server:
sh -c "$(curl -sSL https://get.senate.sh)"