Notifications center: Difference between revisions
From Nasqueron Agora
No edit summary |
(+cat) |
||
Line 26: | Line 26: | ||
* [[/Delivery API]] — AMQP to HTTP gateway: allow to consume messages from an AMQP broker in HTTP (under development) | * [[/Delivery API]] — AMQP to HTTP gateway: allow to consume messages from an AMQP broker in HTTP (under development) | ||
* [[/Web client]] — Show a notifications stream in real-time in a JS UI (under development) | * [[/Web client]] — Show a notifications stream in real-time in a JS UI (under development) | ||
[[Category:Notifications center|*]] | |||
[[Category:Projects]] |
Revision as of 21:47, 24 October 2024
The notifications center is an intelligent bus to accept payloads from services like GitHub, Phabricator, Jenkins, DockerHub and fire standardized notifications to an AMQP broker.
Quickstart
To run it on Docker, fire two containers, one for RabbitMQ, one for the Notifications center:
$ mkdir -p /srv/notifications/rabbitmq/lib /srv/notifications/storage $ docker network create -d bridge notifications $ docker run -dt --network=notifications --name notifications-mq -v /srv/notifications/rabbitmq/lib:/var/lib/rabbitmq nasqueron/rabbitmq $ docker run -dt --network=notifications -e BROKER_HOST=notifications-mq -e BROKER_USERNAME=... -e BROKER_PASSWORD=... -e BROKER_VHOST=... -v /srv/notifications/storage:/var/wwwroot/default/storage nasqueron/notifications
Then, you can populate the configuration in /srv/notifications/storage/app and create your user on RabbitMQ matching credentials set in BROKER_* environment variables.
Repositories and useful links
- Project on DevCentral :: bugs and next features
- Server repository
Consume from the notifications center
- Eggdrop TCL scripts, to run an IRC bot displaying notifications
- CLI client in Python
Extend the notifications center
You can extend the main intelligent bus with microservices:
- /Delivery API — AMQP to HTTP gateway: allow to consume messages from an AMQP broker in HTTP (under development)
- /Web client — Show a notifications stream in real-time in a JS UI (under development)