Hermes Service
Push notifications for the mobile Android and iOS clients rely on the Hermes service. To enable push notifications the Hermes service needs to be started separately and the configuration of the Artemis instance must be extended.
Configure and start Hermes
To run Hermes, you need to clone the repository and replace the placeholders within the docker-compose
file.
The following environment variables need to be updated for push notifications to Apple devices:
APNS_CERTIFICATE_PATH
: String - Path to the APNs certificate .p12 file as described hereAPNS_CERTIFICATE_PWD
: String - The APNS certificate passwordAPNS_PROD_ENVIRONMENT
: Bool - True if it should use the Production APNS Server (Default false)
Furthermore, the <APNS_Key>.p12 needs to be mounted into the Docker under the above specified path.
To run the services for Android support the following environment variable is required:
GOOGLE_APPLICATION_CREDENTIALS
: String - Path to the firebase.json
Furthermore, the Firebase.json needs to be mounted into the Docker under the above specified path.
To run both APNS and Firebase, configure the environment variables for both.
To start Hermes, run the docker compose up
command in the folder where the docker-compose
file is located.
Artemis Configuration
The Hermes service is running on a dedicated machine and is addressed via
HTTPS. We need to extend the Artemis configuration in the file
src/main/resources/config/application-artemis.yml
like:
artemis:
# ...
push-notification-relay: <url>