All Projects β†’ aerogear β†’ Aerogear Unifiedpush Server

aerogear / Aerogear Unifiedpush Server

Licence: apache-2.0
πŸš€ AeroGear UnifiedPush Server

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Aerogear Unifiedpush Server

Uniqush Push
Uniqush is a free and open source software system which provides a unified push service for server side notification to apps on mobile devices.
Stars: ✭ 1,238 (+186.57%)
Mutual labels:  push-notifications, apns, fcm
Node Pushnotifications
Push notifications for GCM, APNS, MPNS, AMZ (automatic detection from device token)
Stars: ✭ 432 (+0%)
Mutual labels:  push-notifications, apns, fcm
OneSignal-Ionic-Sample
No description or website provided.
Stars: ✭ 85 (-80.32%)
Mutual labels:  push-notifications, apns, fcm
Django Push Notifications
Send push notifications to mobile devices through GCM or APNS in Django.
Stars: ✭ 1,881 (+335.42%)
Mutual labels:  push-notifications, apns, fcm
azure-notificationhubs-java-backend
Azure Notification Hubs SDK for Java
Stars: ✭ 31 (-92.82%)
Mutual labels:  push-notifications, apns, fcm
Onesignal Ionic Example
Stars: ✭ 89 (-79.4%)
Mutual labels:  push-notifications, apns, fcm
Pushnotification
PHP and Laravel Package to send push notifications to Android and IOS devices.
Stars: ✭ 395 (-8.56%)
Mutual labels:  push-notifications, apns, fcm
mod push appserver
Simple and extendable appserver for XMPP pushes (aka. XEP-0357)
Stars: ✭ 24 (-94.44%)
Mutual labels:  push-notifications, apns, fcm
Net Core Push Notifications
Lightweight .NET Core Push Notifications for Android and iOS
Stars: ✭ 105 (-75.69%)
Mutual labels:  push-notifications, apns, fcm
Onesignal Cordova Sdk
OneSignal is a free push notification service for mobile apps. This plugin makes it easy to integrate your Ionic, PhoneGap CLI, PhoneGap Build, Cordova, or Sencha Touch app with OneSignal. Supports Android, iOS, and Amazon's Fire OS platforms. https://onesignal.com
Stars: ✭ 214 (-50.46%)
Mutual labels:  push-notifications, apns, fcm
Onesignal Ios Sdk
OneSignal is a free push notification service for mobile apps. This plugin makes it easy to integrate your native iOS app with OneSignal. https://onesignal.com
Stars: ✭ 370 (-14.35%)
Mutual labels:  push-notifications, apns
fcmpush
Firebase Cloud Messaging API wrapper for Ruby, suppot HTTP v1 API including access_token auto refresh feature.
Stars: ✭ 44 (-89.81%)
Mutual labels:  push-notifications, fcm
epns
πŸ“± Erlang Push Notifications. APNS(Apple Push Notifications) and FCM(Firebase Cloud Messaging) Push Notifications
Stars: ✭ 13 (-96.99%)
Mutual labels:  apns, fcm
mobile-messaging-sdk-ios
Mobile Messaging SDK for iOS
Stars: ✭ 45 (-89.58%)
Mutual labels:  push-notifications, apns
FcmNotificationHandler
Android library that helps to construct and launch system tray notifications from FCM Notification messages received when the app is in foreground mimicking the default format and behavior applied when the app is background.
Stars: ✭ 18 (-95.83%)
Mutual labels:  push-notifications, fcm
Gunfish
No description or website provided.
Stars: ✭ 35 (-91.9%)
Mutual labels:  push-notifications, apns
apns2
Node client for connecting to Apple's Push Notification Service using the new HTTP/2 protocol with JSON web tokens
Stars: ✭ 66 (-84.72%)
Mutual labels:  push-notifications, apns
mobile-push
A push notification library
Stars: ✭ 21 (-95.14%)
Mutual labels:  push-notifications, apns
andpush
Android Push Notification in Ruby: The fastest client for FCM (Firebase Cloud Messaging)
Stars: ✭ 83 (-80.79%)
Mutual labels:  push-notifications, fcm
aioapns
An efficient APNs Client Library for Python/asyncio
Stars: ✭ 60 (-86.11%)
Mutual labels:  push-notifications, apns

ifdef::env-github[] :status: :tip-caption: πŸ’‘ :note-caption: ℹ️ :important-caption: ❗️ :caution-caption: πŸ”₯ :warning-caption: ⚠️ :table-caption!: :namespace: mobile-security-service endif::[]

:toc: :toc-placement!:

= AeroGear UnifiedPush Server

ifdef::status[] .Project health image:https://github.com/aerogear/aerogear-unifiedpush-server/workflows/build/badge.svg[Build Status , link=https://github.com/aerogear/aerogear-unifiedpush-server/actions] image:https://img.shields.io/:license-Apache2-blue.svg[License (License), link=http://www.apache.org/licenses/LICENSE-2.0] image:https://maven-badges.herokuapp.com/maven-central/org.jboss.aerogear.unifiedpush/unifiedpush-parent/badge.svg[Maven Central (Maven Central), link=https://maven-badges.herokuapp.com/maven-central/org.jboss.aerogear.unifiedpush/unifiedpush-parent] endif::[]

:toc: toc::[]

== Overview

The AeroGear UnifiedPush Server is a server that allows sending push notifications to different (mobile) platforms and has support for:

image::https://raw.githubusercontent.com/aerogear/aerogear-unifiedpush-server/master/ups-ui-screenshot.pnghttps://raw.githubusercontent.com/aerogear/aerogear-unifiedpush-server/master/ups-ui-screenshot.png[Create Server,align="center"]

== Project Info

|=== | License: | Apache License, Version 2.0 | Build: | https://maven.apache.org[Maven] | Documentation: | https://docs.aerogear.org | Issue tracker: | https://issues.jboss.org/browse/AEROGEAR | Mailing lists: | https://groups.google.com/forum/#!forum/aerogear[aerogear-dev] |===

== Prerequisites

|=== | https://maven.apache.org/install.html[Maven] | https://docs.docker.com/install/[Docker] |===

== Getting started

=== Cloning the repository

By the following commands you will create a local directory and clone this project.

[source,shell]

git clone https://github.com/aerogear/aerogear-unifiedpush-server.git cd aerogear-unifiedpush-server

=== Running locally (Standalone)

By the following commands you will create a local directory and clone this project.

[source,shell]

mvn clean install -DskipTests; docker run -p 9999:8080 -it quay.io/aerogear/unifiedpush-configurable-container:master; docker run -p 8081:80 -it quay.io/aerogear/unifiedpush-admin-ui:3.0.1;

To access this server go to http://localhost:8081/.

NOTE: The standalone is going to use H2 as database, AMQ provides for the Wildfly using to run the UPS and it will not use the https://www.keycloak.org/[Keycloak].

NOTE: If you would like to use Docker-Compose see link:./docker-compose/README.adoc[README].

== Configuration

=== Container Configuration

The Unified Push Server build by default creates and registers a Docker formatted container image, quay.io/aerogear/unifiedpush-configurable-container. By default this container uses an in-memory database, in-vm amq messaging, and no authentication. While ideal for testing, for actual use the following environment variables should be set

|=== | Environment Variable | Description | KEYCLOAK_SERVICE_HOST | URL of a KeyCloak server providing authentication. | KEYCLOAK_SERVICE_PORT | KeyCloak service port. | POSTGRES_SERVICE_PORT | Port to connect to Postgres database. | POSTGRES_SERVICE_HOST | URL of Postgres database. | POSTGRES_USER | Postgres username to use. | POSTGRES_PASSWORD | Postgres password to use. | ARTEMIS_SERVICE_HOST | Artemis AMQ service URL. | ARTEMIS_SERVICE_PORT | Artemis AMQ service Port. | ARTEMIS_USER | Artemis AMQ service username. | ARTEMIS_PASSWORD | Artemis AMQ service password. |===

=== Unified Push Server

The Unified Push Server can be configured with either System Properties (passed to the Java commandline) or Environment Variables. The two options have different formats and the following list describes them using System Property Name/Env Var Name: Purpose.

|=== | Environment Variable | Description | CUSTOM_AEROGEAR_APNS_PUSH_HOST | Custom host for sending Apple push notifications. Can be used for testing. | CUSTOM_AEROGEAR_APNS_PUSH_PORT | Custom port for the Apple Push Network host. | CUSTOM_AEROGEAR_FCM_PUSH_HOST | Custom host for sending Google Firebase push notifications. Can be used for testing. | UPS_REALM_NAME | Override Keycloak Realm. | KEYCLOAK_SERVICE_HOST | Override Keycloak authentication redirect. | AEROGEAR_METRICS_STORAGE_DAYS | Override the number of days the metrics are stored (default is 30 days). | ARTEMIS_URL | URL For AMQP Server. | ARTEMIS_PORT | PORT For AMQP Server. | ARTEMIS_PASSWORD | Password for AMQP server. | ARTEMIS_USERNAME | Username for AMQP server. | UPS_DISABLED | a comma separated list of variants to be disabled per their variant type. See org.jboss.aerogear.unifiedpush.rest.annotations.DisabledByEnvironment for more details | DOCS_PATH | File system path for documentation links json file. See docs-links as an example |===

== Releasing the UnifiedPush Server

The content of the Release Process is valid for this project as well. However, to build the full distribution bundle, you need to fire off the release like:

[source,shell]

prepare the release and define the TAG and adjust the versions:

mvn release:prepare -Dtag=x.y.z.Final -Darguments=-Dgpg.passphrase=$MY_SECRET_PASS_PHRASE -Pdist,test

run the actual release process and load the artifacts to JBoss Nexus

mvn release:perform -DperformRelease=true -Darguments=-Dgpg.passphrase=$MY_SECRET_PASS_PHRASE -Dgpg.useagent=true -Pdist,test

== License

See link:./LICENSE.txt[LICENSE]

== Contributing

All contributions are hugely appreciated. Please see our https://aerogear.org/community/#guides[Contributing Guide] for guidelines on how to open issues and pull requests. Please check out our link:./.github/CODE_OF_CONDUCT.md[Code of Conduct] too.

== Questions

There are a number of ways you can get in in touch with us, please see the https://aerogear.org/community/#contact[AeroGear community].

== Found a bug?

If you found a bug please create a ticket for us on Jira with some steps to reproduce it.

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].