Notifications center: Difference between revisions
From Nasqueron Agora
(Created page with "The '''notifications center''' is an intelligent bus to accept payloads from services like GitHub, Phabricator, Jenkins, DockerHub and fire standardized notifications to an AM...") |
No edit summary |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
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. | 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. | ||
[[File:Notifications center providers and consumers.png|918px]] | |||
== 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 == | |||
* [https://devcentral.nasqueron.org/project/view/58/ Project on DevCentral] :: bugs and next features | |||
* [https://devcentral.nasqueron.org/source/notifications/ Server repository] | |||
== Consume from the notifications center == | == Consume from the notifications center == | ||
* [https://devcentral.nasqueron.org/source/viperserv/browse/ | * [https://devcentral.nasqueron.org/source/viperserv/browse/main/Wearg/ Eggdrop TCL scripts], to run an IRC bot displaying notifications | ||
** [https://github.com/nasqueron/ViperServ/tree/6a146c8d8e1f0d4bb7271671821e839b22446e2d/Wearg Version using directly the broker through rabbitmq-tcl] | ** [https://github.com/nasqueron/ViperServ/tree/6a146c8d8e1f0d4bb7271671821e839b22446e2d/Wearg Version using directly the broker through rabbitmq-tcl] | ||
* [https://devcentral.nasqueron.org/diffusion/NOTIFCLI/browse/master/notifications CLI client in Python] | * [https://devcentral.nasqueron.org/diffusion/NOTIFCLI/browse/master/notifications CLI client in Python] | ||
Line 9: | Line 25: | ||
You can extend the main intelligent bus with microservices: | 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) | * [[/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 ( | * [[/Web client]] — Show a notifications stream in real-time in a JS UI (under development) | ||
[[Category:Notifications center|*]] | |||
[[Category:PHP]] | |||
[[Category:Projects]] | |||
[[Category:RabbitMQ]] |
Latest revision as of 22:07, 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)