The Chatmail notification proxy is deployed as a central service on https://notifications.delta.chat
The notification proxy is a small Rust program that forwards "device tokens" to Apple and Google "Push Services" that in turn wake up the clients using Chatmail core on user's devices.
The OpenPGP key can be generated using rsop:
$ rsop generate-key --profile rfc9580 > openpgp.privkey
$ rsop extract-cert < privkey > openpgp.pubkeyThe certificate file provided must be a .p12 file. Instructions for how to create can be found here.
The FCM token can be retrieved in the Firebase console.
The VAPID key can be generated with openssl. The VAPID public key will be printed during startup:
$ openssl ecparam -name prime256v1 -genkey -noout -out vapid.privkey
$ openssl pkcs8 -topk8 -in vapid.privkey -nocrypt -out vapid.pk8$ cargo build --release
$ ./target/release/notifiers --certificate-file <file.p12> --password <password> --fcm-key-path <fcm.private> --openpgp-keyring-path <openpgp.privkey> --vapid-key-path <vapid.pk8>file.p12is APNS certificatepasswordis file.p12 passwordfcm.privateis the FCM tokenopenpgp.privkeyis the generated OpenPGP key
$ curl -X POST -d '{ "token": "<device token>" }' http://localhost:9000/registerTo enable OpenMetrics (Prometheus) metrics endpoint,
run with --metrics argument,
e.g. --metrics 127.0.0.1:9001.
Metrics can then be retrieved with
curl http://127.0.0.1:9001/metrics.