All Projects β†’ esl β†’ MongoosePush

esl / MongoosePush

Licence: Apache-2.0 License
MongoosePush is a simple Elixir RESTful service allowing to send push notification via FCM and/or APNS.

Programming Languages

elixir
2628 projects
shell
77523 projects

Projects that are alternatives of or similar to MongoosePush

PUSHTestFCM
[FireMonkey] Push test project
Stars: ✭ 17 (-83.17%)
Mutual labels:  notifications, apns, gcm, fcm
epns
πŸ“± Erlang Push Notifications. APNS(Apple Push Notifications) and FCM(Firebase Cloud Messaging) Push Notifications
Stars: ✭ 13 (-87.13%)
Mutual labels:  apns, gcm, fcm, push
Notificationpusher
Standalone PHP library for easy devices notifications push.
Stars: ✭ 1,143 (+1031.68%)
Mutual labels:  notifications, apns, gcm, push
andpush
Android Push Notification in Ruby: The fastest client for FCM (Firebase Cloud Messaging)
Stars: ✭ 83 (-17.82%)
Mutual labels:  notifications, gcm, fcm, push
Airnotifier
Push Notifications Server for Human Beings.
Stars: ✭ 522 (+416.83%)
Mutual labels:  notifications, http2, apns, fcm
pushex
Push notifications for Elixir
Stars: ✭ 96 (-4.95%)
Mutual labels:  notifications, apns, gcm
Applozic Android Sdk
Android Real Time Chat & Messaging SDK
Stars: ✭ 611 (+504.95%)
Mutual labels:  notifications, gcm, fcm
Push Fcm Plugin
Official Firebase Cloud Messaging plugin for Push.js v1.0 πŸ”₯
Stars: ✭ 37 (-63.37%)
Mutual labels:  notifications, fcm, push
Socket.io Push
ζ•΄εˆδΊ†ε°η±³οΌŒεŽδΈΊοΌŒε‹η›ŸοΌŒθ°·ζ­ŒοΌŒθ‹ΉζžœζŽ¨ι€ηš„η»ŸδΈ€θ§£ε†³ζ–Ήζ‘ˆ
Stars: ✭ 605 (+499.01%)
Mutual labels:  notifications, apns, push
Onesignal Gradle Plugin
Use with OneSignal-Android-SDK to help integrate it into your Android Studio or Gradle project. https://onesignal.com
Stars: ✭ 49 (-51.49%)
Mutual labels:  notifications, gcm, fcm
azure-notificationhubs-java-backend
Azure Notification Hubs SDK for Java
Stars: ✭ 31 (-69.31%)
Mutual labels:  apns, gcm, fcm
mobile-messaging-sdk-ios
Mobile Messaging SDK for iOS
Stars: ✭ 45 (-55.45%)
Mutual labels:  notifications, apns, push
Easynotifylibproject
Send firebase notifications to your users very easily: A new Android Lib
Stars: ✭ 31 (-69.31%)
Mutual labels:  notifications, fcm, push
Onesignal Unity Sdk
OneSignal is a free push notification service for mobile apps. This plugin makes it easy to integrate your Unity app with OneSignal. https://onesignal.com
Stars: ✭ 161 (+59.41%)
Mutual labels:  notifications, apns, gcm
Rpush
The push notification service for Ruby.
Stars: ✭ 1,886 (+1767.33%)
Mutual labels:  notifications, apns, fcm
PushMeBaby
iOS Push Notification Debug App. You can use this app during iOS Push Notification (development or production) to push notifications on your device from your Mac.
Stars: ✭ 47 (-53.47%)
Mutual labels:  notifications, apns, push
Apnotic
A Ruby APNs HTTP/2 gem able to provide instant feedback.
Stars: ✭ 360 (+256.44%)
Mutual labels:  notifications, http2, apns
Apns2
⚑ HTTP/2 Apple Push Notification Service (APNs) push provider for Go β€” Send push notifications to iOS, tvOS, Safari and OSX apps, using the APNs HTTP/2 protocol.
Stars: ✭ 2,569 (+2443.56%)
Mutual labels:  notifications, http2, apns
Net Core Push Notifications
Lightweight .NET Core Push Notifications for Android and iOS
Stars: ✭ 105 (+3.96%)
Mutual labels:  notifications, apns, fcm
Apns Http2
A Java library for sending notifications via APNS using Apple's HTTP/2 API.
Stars: ✭ 194 (+92.08%)
Mutual labels:  notifications, http2, apns

MongoosePush

Build Status Coverage Status Ebert

MongoosePush is a simple, RESTful service written in Elixir, providing the ability to send push notifications to FCM (Firebase Cloud Messaging) and/or APNS (Apple Push Notification Service) via their HTTP/2 API.

Documentation

Documentation is available at: https://esl.github.io/MongoosePush

Quick start

Running from DockerHub

We provide prebuilt MongoosePush images. Configuration requires either an FCM token, APNS certificates or an APNS token. Depending on your usecase, you can have some or all of them in a standalone MongoosePush instance or using a docker container. For the full configuration you need to set the following directory structure up:

  • priv/
    • ssl/
      • rest_cert.pem - The HTTP endpoint certificate
      • rest_key.pem - private key for the HTTP endpoint certificate (has to be unencrypted)
    • apns/
      • prod_cert.pem - Production APNS app certificate
      • prod_key.pem - Production APNS app certificate's private key (has to be unencrypted)
      • dev_cert.pem - Development APNS app certificate
      • dev_key.pem - Development APNS app certificate's private key (has to be unencrypted)
      • token.p8 - APNS authentication token
    • fcm/
      • token.json - FCM service account JSON file

If you want to use APNS token authentication you need to provide token and set key_id and team_id environment variables. To see how to obtain token and key_id read this. To see how to obtain team_id read this.

FCM JSON file can be generated by Firebase console (https://console.firebase.google.com). Go to your project -> Project Settings -> Service accounts -> Generate new private key Assuming that you have the priv directory with all certificates and fcm token in current directory, then you may start MongoosePush with the following command:

docker run -v `pwd`/priv:/opt/app/priv \
  -e PUSH_HTTPS_CERTFILE="/opt/app/priv/ssl/rest_cert.pem" \
  -e PUSH_HTTPS_KEYFILE="/opt/app/priv/ssl/rest_key.pem" \
  -it --rm mongooseim/mongoose-push:latest

Local build prerequisites

  • Elixir 1.5+ (http://elixir-lang.org/install.html)
  • Erlang/OTP 19.3+

    NOTE: Some Erlang/OTP 20.x releases / builds contain TLS bug that prevents connecting to APNS servers. When building with this Erlang version, please make sure that MongoosePushRuntimeTest test suite passes. It is however highly recommended to build MongoosePush with Erlang/OTP 21.x.

  • Rebar3 (just enter mix local.rebar)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].