[GH-ISSUE #469] XMPP / Jabber #354

Open
opened 2026-02-25 23:42:08 +03:00 by kerem · 3 comments
Owner

Originally created by @alexanderadam on GitHub (Jan 22, 2021).
Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/469

I know that this might be a 'special interest' protocol nowadays, since it was introduced in the last century. 😆
But it would really be great to have XMPP support.

XMPP doesn't have a standardized Webhook support (it would need external modules or external services), thus it would need one of the XMPP libraries, I guess.:

PS: Thank you so much for healthcheck! 🙏

Originally created by @alexanderadam on GitHub (Jan 22, 2021). Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/469 I know that this might be a 'special interest' protocol nowadays, since it was introduced in the last century. :laughing: But it would really be great to have [XMPP](https://en.wikipedia.org/wiki/XMPP) support. XMPP doesn't have a standardized Webhook support (it would need [external modules](https://modules.prosody.im/mod_slack_webhooks.html) or [external services](https://github.com/tmsmr/xmpp-webhook#xmpp-webhook)), thus it would need one of the XMPP libraries, I guess.: - [`aioxmpp`](https://github.com/horazont/aioxmpp) - [`python-nbxmpp`](https://dev.gajim.org/gajim/python-nbxmpp) - [`slixmpp`](https://lab.louiz.org/poezio/slixmpp) - otherwise there's probably [a lot of other Python stuff for XMPP](https://github.com/search?l=Python&o=desc&q=xmpp&s=updated&type=Repositories) **PS:** Thank you so much for healthcheck! :pray:
Author
Owner

@cuu508 commented on GitHub (Jan 22, 2021):

Are you interested in XMPP support on the hosted service, or on a self-hosted instance?

If self-hosted, have you considered the Apprise integration? It supports lots of notification methods, including XMPP.

<!-- gh-comment-id:765340460 --> @cuu508 commented on GitHub (Jan 22, 2021): Are you interested in XMPP support on the hosted service, or on a self-hosted instance? If self-hosted, have you considered the Apprise integration? It supports *lots* of notification methods, including XMPP.
Author
Owner

@alexanderadam commented on GitHub (Jan 22, 2021):

Wow, you answer fast!

I'm interested on a self-hosted instance.
No I haven't considered it yet. Does that mean that native XMPP integration won't be considered?

<!-- gh-comment-id:765359450 --> @alexanderadam commented on GitHub (Jan 22, 2021): Wow, you answer fast! I'm interested on a self-hosted instance. No I haven't considered it yet. Does that mean that native XMPP integration won't be considered?
Author
Owner

@tyler71 commented on GitHub (Mar 8, 2021):

@alexanderadam if you use docker, I have this setup using go-sendxmpp to allow xmpp messaging (SHELL_ENABLED is set to true)

Integration for Shell Command

/usr/local/bin/send-xmpp-msg "Service $NAME is $STATUS"
./Dockerfile
./send-xmpp-msg
./sendxmpprc # Should have 640 permissions
$ docker image build -t healthchecks_xmpp .

Dockerfile

FROM golang:latest as builder
ENV GOPATH=/go
ENV CGO_ENABLED=0
ENV GOOS=linux
ENV GOARCH=amd64

RUN go get salsa.debian.org/mdosch/go-sendxmpp \
 && go build salsa.debian.org/mdosch/go-sendxmpp


FROM ghcr.io/linuxserver/healthchecks

COPY --from=builder /go/bin/go-sendxmpp /usr/local/bin/go-sendxmpp
COPY ./send-xmpp-msg /usr/local/bin/send-xmpp-msg
COPY --chown=1000 sendxmpprc /.sendxmpprc

send-xmpp-msg

#!/bin/bash
USER=user@domain.tld
TEMPFILE="$(mktemp)"

echo "$@" > "$TEMPFILE"
/usr/local/bin/go-sendxmpp  -m "$TEMPFILE" -f /.sendxmpprc $USER
rm "$TEMPFILE"

sendxmpprc

username: user
jserver: domain.tld
port: 5222
password: thepassword
<!-- gh-comment-id:792853714 --> @tyler71 commented on GitHub (Mar 8, 2021): @alexanderadam if you use docker, I have this setup using [go-sendxmpp](https://salsa.debian.org/mdosch/go-sendxmpp) to allow xmpp messaging (SHELL_ENABLED is set to true) <details> Integration for `Shell Command` ``` /usr/local/bin/send-xmpp-msg "Service $NAME is $STATUS" ``` ``` ./Dockerfile ./send-xmpp-msg ./sendxmpprc # Should have 640 permissions $ docker image build -t healthchecks_xmpp . ``` **Dockerfile** ``` FROM golang:latest as builder ENV GOPATH=/go ENV CGO_ENABLED=0 ENV GOOS=linux ENV GOARCH=amd64 RUN go get salsa.debian.org/mdosch/go-sendxmpp \ && go build salsa.debian.org/mdosch/go-sendxmpp FROM ghcr.io/linuxserver/healthchecks COPY --from=builder /go/bin/go-sendxmpp /usr/local/bin/go-sendxmpp COPY ./send-xmpp-msg /usr/local/bin/send-xmpp-msg COPY --chown=1000 sendxmpprc /.sendxmpprc ``` **send-xmpp-msg** ``` #!/bin/bash USER=user@domain.tld TEMPFILE="$(mktemp)" echo "$@" > "$TEMPFILE" /usr/local/bin/go-sendxmpp -m "$TEMPFILE" -f /.sendxmpprc $USER rm "$TEMPFILE" ``` **sendxmpprc** ``` username: user jserver: domain.tld port: 5222 password: thepassword ``` </details>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/healthchecks#354
No description provided.