AirNotifier
AirNotifier is a great tool for software development teams. It provides a ready-made, easy-to-integrate way to send real time notifications to a range of different platforms.
Most notably, it integrates with both of the major push notification services (APNs and FCM), meaning that you don’t need to write this code yourself. This will free up your team to work on core features, while giving you confidence that your integration code was written by push-notification experts and tested in production by hundreds of other teams.
The Missing Piece
One of the biggest attractions of AirNotifier is that it gives you all of these great features for free. While they do charge for hosting, they also give you the option to self-host. If, like me, you prefer to host on your own infrastructure, AirNotifier is completely free.
That said, the main complaint that I hear about AirNotifier is its lack of documentation. This was the main reason behind our recent article, “AirNotifier: A How-To Guide for Beginners”. If you are interested in finding out more about AirNotifier’s features and how to get started, I strongly encourage you to read that article.
Without good documentation, setting up AirNotifier on your own infrastructure can take a bit of research. So, as a follow-on to our How-To Guide, I decided to write a quick-and-easy deployment guide.
Let’s Dive In
As is true for most cloud software, the easiest way to deploy AirNotifier is with Docker. At Tyne Solutions, we love Docker. Deploying AirNotifier with Docker can reduce deployment time to a matter of minutes. It becomes even easier if someone is nice enough to supply you with a ready-made Docker Compose file. So, that is exactly what we are going to do.
Step 1: Install Docker.
Installing Docker is a very straight-forward process, but the steps differ depending on your operating system. So, instead of giving you step-by-step instructions for our preferred OS, I encourage you to check out the instructions on Docker Docs (https://docs.docker.com/get-docker/). They have very detailed guides for a wide range of operating systems.
Step 2: Install Docker Compose.
Docker Compose is a separate tool that you can install on top of Docker. It enables you to manage deployments through the use of YAML files, giving you repeatable, self-documented deployments.
The installation steps for Docker Compose also differ depending on your operating system. Thankfully, Docker Docs has us covered here too. You can find installation instructions for a range of operating systems here, https://docs.docker.com/compose/install/.
Step 3: Install AirNotifier
We tried to find an existing AirNotifier image of Docker Hub, but the only images we could find were either out-dated, undocumented, or used a modified version of AirNotifier. So, we decided to create our own image and make it available to the public. Our image uses AirNotifier v2, with no modifications. You can find it here, https://hub.docker.com/r/tynesolutions/airnotifier.
Using Docker Compose, deploying this image is almost effortless. Add a new file to your server and call it docker-compose.yml. Then, add the following contents and save the file:
version: “3”
services:
mongodb:
container_name: mongodb
image: mongo:latest
ports:
– 27017:27017
environment:
– MONGO_DATA_DIR=/data/db
– MONGO_LOG_DIR=/tmp/mongo/mongo.log
volumes:
– ./mongo/data:/data/db
– ./mongo/log:/tmp/mongo
command: mongod –logpath=/dev/null # –quiet
airnotifier:
container_name: airnotifier
image: tynesolutions/airnotifier:2
links:
– mongodb
depends_on:
– mongodb
volumes:
– ./certs:/var/airnotifier/pemdir
– ./logs:/var/log/airnotifier
ports:
– 8801:8801
environment:
– MONGO_SERVER=mongodb
– MONGO_PORT=27017
Once saved, open your terminal, navigate to the directory where you saved the file, and run “docker-compose up -d”.
Step 4: Start using AirNotifier
That’s all there is to it.
You now have AirNotifier running at http://your_server_ip_address:8801.