• This repository has been archived on 17/Apr/2023
  • Stars
    star
    457
  • Rank 95,775 (Top 2 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 11 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿš€ AeroGear UnifiedPush Server

AeroGear UnifiedPush Server

Overview

The AeroGear UnifiedPush Server is a server that allows sending push notifications to different (mobile) platforms and has support for: * Appleโ€™s APNs (HTTP/2) * Firebase Cloud Messaging

Create Server

Project Info

License:

Apache License, Version 2.0

Build:

Maven

Documentation:

https://docs.aerogear.org

Issue tracker:

https://issues.jboss.org/browse/AEROGEAR

Mailing lists:

aerogear-dev

Prerequisites

Getting started

Cloning the repository

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

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.

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

โ„น๏ธ
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 Keycloak.
โ„น๏ธ
If you would like to use Docker-Compose see 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](./jaxrs/src/main/resources/doc-links.json) as an example

Releasing the UnifiedPush Server

The content of the [Release Process](https://github.com/aerogear/collateral/wiki/Release-Process-(Java)) is valid for this project as well. However, to build the full distribution bundle, you need to fire off the release like:

## 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 LICENSE

Contributing

All contributions are hugely appreciated. Please see our Contributing Guide for guidelines on how to open issues and pull requests. Please check out our Code of Conduct too.

Questions

There are a number of ways you can get in in touch with us, please see the AeroGear community.

Found a bug?

If you found a bug please create a ticket for us on [Jira](https://issues.jboss.org/browse/AEROGEAR) with some steps to reproduce it.

More Repositories

1

offix

GraphQL Offline Client and Server
TypeScript
759
star
2

keycloak-metrics-spi

Adds a Metrics Endpoint to Keycloak
Java
536
star
3

create-graphql

Command-line utility to build production-ready servers withย GraphQL.
JavaScript
440
star
4

graphback

Graphback - Out of the box GraphQL server and client
TypeScript
409
star
5

aerogear-ios-oauth2

Client library for OAuth2/OpenID Connect
Swift
163
star
6

keycloak-connect-graphql

Add Keyloak Authentication and Authorization to your GraphQL server.
TypeScript
155
star
7

charmil

The framework for building modular plugin based CLI's using Cobra and Golang
Go
116
star
8

datasync-voyager

๐Ÿš€ Complete GraphQL Node.js Server ready for production
TypeScript
51
star
9

OpenVolunteerPlatform

Platform for building volunteer management systems dedicated for local gov and charity organizations
TypeScript
51
star
10

aerogear-ios-http

Lightweight lib around NSURLSession to ease HTTP calls
Swift
45
star
11

aerogear-android-cookbook

Java
41
star
12

graphql-link

graphql-link is a GraphQL server that composes other GraphQL or OpenAPI endpoints
CSS
38
star
13

offix-android

Apollo GraphQL offline extensions for Android Platform
Kotlin
37
star
14

aerogear-cordova-push

โœจ Cordova plugin to support AeroGear UnifiedPush notifications โœจ
JavaScript
34
star
15

datasync-starter

GraphQL Low Code React and Node.js DataSync Application template
TypeScript
32
star
16

graphql-query-mapper

Query your GraphQL data efficiently
TypeScript
30
star
17

aerogear-ios-push

AeroGear UnifiedPush Client Registration SDK (Swift)
Swift
29
star
18

graphql-metadata

Annotate your graphql schema with lightweight directives
TypeScript
28
star
19

aerogear-ios-cookbook

Swift
23
star
20

android-showcase-template

Showcase template app for the AeroGear Android SDK
Java
21
star
21

graphql-testx

A GraphQL server for testing GraphQL applications or libraries based on Graphback
TypeScript
15
star
22

aerogear-android-push

Push provides support for integrating with push. Currently only using Firebase Cloud Messaging (FCM) with the AeroGear UnifiedPush Server (UPS)
Java
15
star
23

uniforms-patternfly

Uniforms patternfly
TypeScript
13
star
24

push-network-proxies

Simple mock/proxy servers for FCM and APNs
Java
13
star
25

aerogear.org

Jekyll based project site repo for aerogear.org
HTML
12
star
26

aerogear-unifiedpush-nodejs-client

Node.js API to access the Unified Push Server
JavaScript
12
star
27

aerogear-digger

Digger on Jenkins: An OpenSource Build Farm for mobile app builds in the cloud
Ruby
10
star
28

mobile-developer-console

Mobile Developer Console
CSS
9
star
29

aerogear-js-sdk

AeroGear Mobile SDK
TypeScript
9
star
30

mobile-security-service-operator

Go
9
star
31

mobile-docs

Documentation for setting up and using Mobile Services on OpenShift
JavaScript
8
star
32

aerogear-android-sdk

AeroGear Services Android SDK
Java
8
star
33

trira

A simple tool to sync Trello Cards with JIRA Tasks
JavaScript
8
star
34

modern-appdev-workshop

Workshop for enterprise enabled modern application development
TypeScript
6
star
35

aerogear-ios-sdk

AeroGear Services Swift SDK
Swift
6
star
36

graphql-home

AeroGear GraphQL projects and ideas
6
star
37

aerogear-unifiedpush-java-client

Java API to access the Unified Push Server
Java
6
star
38

charmil-host-example

Rhoas CLI as an Host example
Go
5
star
39

uniforms-ionic

Dynamic generation of React Forms using Ionic
TypeScript
5
star
40

unifiedpush-operator

โ˜ธ๏ธ Kubernetes operator for the AeroGear UnifiedPush Server
Go
4
star
41

native-android-example

Java
4
star
42

mobile-services-installer

Install Mobile Services on OpenShift
Shell
4
star
43

aerogear-digger-installer

Ansible role for installing AeroGear Digger on OpenShift
Groovy
4
star
44

ups-mock-data-loader

A tool that can be used to populate an UPS server with mock applications, variants and tokens
Java
3
star
45

unifiedpush-admin-client

Client library for Unified Push Administration
TypeScript
3
star
46

ios-showcase-template

Showcase template app for the AeroGear iOS SDK
Swift
3
star
47

aerogear-android-pipe

Pipe is a metaphor for connecting to a remote web service
Java
3
star
48

offix-react-native-example

Sample react app for offix.dev
TypeScript
3
star
49

charmil-plugin-example

Service registry artifacts commands from Rhoas as a plugin example
Go
2
star
50

ups-config-operator

Go
2
star
51

GSoC-2020

The landing page for potential Google Summer of Code students
2
star
52

aerogear-integration-tests

TypeScript
2
star
53

aerogear-push-js

Push support for cordova apps
TypeScript
2
star
54

mobile-security-service

Go
2
star
55

aerogear-parent

2
star
56

git-practical

Git Practical
2
star
57

unifiedpush-cli

A CLI to interact with the UnifiedPush Server
TypeScript
2
star
58

aerogear-android-core

Common components and interfaces which the rest of the AeroGear Android libraries depend on
Java
2
star
59

digger-android-slave-image

Dockerfile to create Jenkins slave images to build Android apps
Dockerfile
2
star
60

antora-ui

Styling used by antora to produce docs.aerogear.org
CSS
2
star
61

mobile-security

AeroGear Mobile Security https://docs.aerogear.org/mobile-security/latest/
HTML
1
star
62

aerogear-digger-node-client

Node.js integration lib
JavaScript
1
star
63

ag-cli

Aerogear Command Line Interface
TypeScript
1
star
64

charmil-starter

charmil-starter
Go
1
star
65

ups-operator-poc

A POC to demo how to convert an APB to an Ansible type operator
Python
1
star
66

docs.aerogear.org

Generated html for https://docs.aerogear.org
HTML
1
star
67

unifiedpush-cookbook

TypeScript
1
star
68

datasync-deployment

AeroGear DataSync Deployment
Shell
1
star
69

mobile-walkthrough

Data Sync Solution Pattern using GraphQL
1
star
70

aerogear-reactnative-push

React Native library for Unified Push
Java
1
star
71

xamarin-showcase-template

Xamarin showcase template
C#
1
star
72

test-suite

JavaScript
1
star
73

web-encrypted-storage

This repository is an example of how you can leverage the web storage api: https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API to provide secure storage on your device using the web crypto api: https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API
TypeScript
1
star