mercure

(β˜… 5,299)

πŸͺ½ An open, easy, fast, reliable and battery-efficient solution for real-time communications

  • .gitignore
  • .golangci.yml
  • .goreleaser.yml
  • .markdownlintignore
  • .prettierignore
  • .textlintignore
  • authorization.go
  • authorization_deprecated.go
  • authorization_deprecated_test.go
  • authorization_notdeprecated.go
  • authorization_test.go
  • authorizationclaims_deprecated.go
  • authorizationclaims_notdeprecated.go
  • authorizationdetails.go
  • authorizationdetails_test.go
  • bearererror.go
  • bearererror_test.go
  • bolt.go
  • bolt_deprecated_test.go
  • bolt_test.go
  • Caddyfile
  • claimrequirestopic_deprecated.go
  • CLAUDE.md
  • CONTRIBUTING.md
  • COPYRIGHT
  • debugger.go
  • debugger_test.go
  • Dockerfile
  • e2e_test.go
  • event.go
  • event_test.go
  • example_test.go
  • go.mod
  • go.sum
  • handler.go
  • handlertopic_deprecated.go
  • handlertopic_notdeprecated.go
  • hardening_test.go
  • hub.go
  • hub_test.go
  • hubtopic_deprecated_test.go
  • identity.go
  • identity_test.go
  • jwtkeyfunc.go
  • jwtkeyfunc_test.go
  • LICENSE
  • llms.txt
  • local.go
  • local_test.go
  • localbench_test.go
  • localsubscriber.go
  • logging.go
  • matchbench_test.go
  • matcher_deprecated.go
  • matcher_notdeprecated.go
  • matcherclaim.go
  • matcherclaim_deprecated_test.go
  • matcherclaim_test.go
  • matcherhelpers_deprecated_test.go
  • matcherhelpers_test.go
  • matchertype.go
  • metrics.go
  • metrics_test.go
  • playground.go
  • playground_test.go
  • publish.go
  • publish_test.go
  • README.md
  • release.sh
  • reservedtopic.go
  • reservedtopic_test.go
  • resourcemetadata.go
  • resourcemetadata_test.go
  • SECURITY.md
  • subscribe.go
  • subscribe_deprecated_test.go
  • subscribe_notdeprecated_test.go
  • subscribe_test.go
  • subscribematchers.go
  • subscribematchers_deprecated_test.go
  • subscribematchers_test.go
  • subscriber.go
  • subscriber_deprecated_test.go
  • subscriber_test.go
  • subscriberbench_test.go
  • subscriberlist.go
  • subscriberlist_test.go
  • subscription.go
  • subscription_test.go
  • subscriptionclaim_deprecated_test.go
  • subscriptiontopic_deprecated_test.go
  • topicmatcher.go
  • topicmatcher_deprecated.go
  • topicmatcher_deprecated_test.go
  • topicmatcher_notdeprecated.go
  • topicmatcher_notdeprecated_test.go
  • topicmatcher_test.go
  • tracer.go
  • tracer_test.go
  • transport.go
  • transport_deprecated.go
  • update.go
  • update_test.go
  • updatehelpers_test.go

πŸš€ Installation Guide

1. Get the code
git clone https://github.com/dunglas/mercure

Downloads the entire project code from GitHub to your computer.

cd mercure

Moves into the project folder you just downloaded.

2. Docker

Easy Recommended
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker build -t mercure .

Builds a runnable image based on the Dockerfile.

docker run -p 8080:80 mercure

Runs the built image as an actual container.

βœ… Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.

3. Maven (Java)

Medium
Prerequisites
  • Git Needed to download the project code from GitHub.
  • JDK (Java) Required to build and run Java projects.
  • Maven The build tool used for the mvn command.
cd gatling

This project's files live in a subfolder, so move into it first.

mvn clean install

Installs dependencies and builds the project using Maven.

βœ… A BUILD SUCCESS message means it worked. The output is created under target/.

4. Node.js

Easy
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Node.js Node.js must be installed to use npm. The LTS version is recommended.
cd conformance-tests

This project's files live in a subfolder, so move into it first.

npm install

Downloads and installs the libraries listed in package.json.

npm start

Starts the development/run server.

βœ… After running the command, open the address shown in the terminal (usually something like http://localhost:3000) in your browser.

5. Python

Easy
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Python 3 On Windows, be sure to check 'Add Python to PATH' during installation.
pip install -r examples/chat/requirements.txt

Installs the Python libraries listed in requirements.txt (or similar).

python <μ‹€ν–‰ν•  파일λͺ…>.py # READMEμ—μ„œ μ •ν™•ν•œ μ‹€ν–‰ 파일λͺ…을 ν™•μΈν•˜μ„Έμš”

Runs the Python script (or module).

βœ… If it runs without errors and prints output in the terminal, it worked.

6. Go

Medium
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Go The Go compiler and toolchain.
cd caddy

This project's files live in a subfolder, so move into it first.

go build ./...

Compiles the Go program into an executable.

go run .

Runs the Go program directly without a separate build step.

βœ… If the build finishes without errors, it worked. If you used go run ., check the terminal output.
// repository documentation