Aerobase is a mobile/web platform that helps you quickly develop high-quality modern web and mobile applications.
Aerobase UnifiedPush Server releases additional functionality while maintaining AeroGear API compatibility:
- Realtime DB - NoSQL Document Database, store & access your documents from both the server and the client.
- Scalable & Fault Tolerant, Based on apache cassandra database.
- Authentication - Add authentication to applications and secure services with minimum fuss.
- OTP Registraion - Pluggable Email Verification process.
- SSL Support and easy configuration.
- Cloud Messaging - Push Notifications (Payload & Silent).
- Centralized configuration/management using Chef Omnibus.
- By default, every Aerobase package comes with an embedded NGINX, Wildfly, KeyCloak 4.8.x, Cassandra 3.11.x.
- Full-stack rpm/deb installers across a variety of platforms (RHEL, Debian, Fedora, Ubuntu).
- Apple’s APNs (HTTP/2)
- Firebase Cloud Messaging
- Microsoft's Windows Push Notification service (WNS)
- Microsoft's Push Notification service (MPNs)
- Amazon Device Messaging (ADM) (experimental)
- Mozilla’s SimplePush (deprecated)
Project Info | |
---|---|
License: | Apache License, Version 2.0 |
Build: | Maven |
Documentation: | Aerobase Server Documentation |
Aerobase API Documentaion | |
Aerobase.io | |
Issue tracker: | JIRA |
Or for the on-premise version, execute the following steps to get going!
- Download and install the latest package (rpm/deb) files
- Follow the steps on the Installation guide
- Run
sudo unifiedpush-ctl reconfigure
- Start the server
sudo unifiedpush-ctl start
Now go to http://localhost/unifiedpush-server
and enjoy the Aerobase Server.
NOTE: the default user/password is admin
:123
In order to test on a cluster of Aerobase servers, the default configuration serves pretty well, you just need to set 'contactpoints' to /etc/unifiedpush/unifiedpush.rb.
For your convenience, we do have an easy way of launch with our Docker compose file
For more details about the current release, please consult our documentation or visit AeroGear documentation.
Up to date generated REST endpoint documentation can be found in https://docs.aerobase.io/apis/rest/
. It is generated with every jaxrs
module build.
We have a list of users in our wiki. If you are using the UnifiedPush Server, please add yourself to the list!
The above Getting started
section covers the latest release of the UnifiedPush Server. For development and deploying SNAPSHOT
versions, you will find information in this section.
For deployment of the master branch
to a specific server (Wildfly-11 or EAP7), you need to build the WAR files and deploy them to a running and configured server.
First build the entire project:
mvn clean install
Note, this will build the also the WAR files for both, WildFly-11 and EAP7.
For WildFly, invoke the following commands afer the build has been completed. This will deploy both WAR files to a running and configured Wildfly server.
cd servers
mvn wildfly:deploy -Pwildfly
The sources for administration console UI are placed under admin-ui
.
For a build of the admin-ui
during release, you can just run a Maven build, the admin-ui
will be compiled by frontend-maven-plugin
during admin-ui
module build.
For instructions how to develop admin-ui
, refer to admin-ui/README.md
.
These instructions contains also specific instructions how to upgrade NPM package dependencies.
Note that the {{frontend-maven-plugin}} may fail if you killed the build during its work - it may leave the downloaded modules in inconsistent state, see admin-ui/README.md
.
In order to clean the state of Admin UI build caches, run maven build with the following parameter
mvn clean install -Dfrontend.clean.force
Try this if the build fails e.g. after bower.json
or package.json
modifications to make sure no cache is playing with you.
The content of the Release Process is valid for this project as well. However, to build the distribution
bundle, you need to include these profiles:
mvn release:GOAL -Pdist,test
Chrome Packaged Apps
The Chrome Packaged App Variant will be removed. Google has deprecated the chrome.pushMessaging API in favor of the chrome.gcm API.
This change allows the UnifiedPush Server to now use the Android Variant for both Android and Chrome Apps.
If you are using this functionality, please convert your applications to use the new API and recreate your variants.
There is a dedicated guide to running and developing tests in TESTS.md
If you found a bug please create a ticket for us on Issues with some steps to reproduce it.