Audio Streaming Alpha 0.8.4 for iOS and Android

The new playlist feature has been on GitHub since June 9 and now we finally released alpha 0.8.4 for iOS via Test Flight and Android directly via Google Play Store.

It is now possible to not only listen to the radio stream, but also to browse audio files, listen to them straight away and create custom playlists. This is a very exciting new feature, so please install the new version and play around with it.

Currently, only a small fraction of Kirtans are available for the beta apps, but we’re going to add more over the next days and weeks. Once we’re coming out of beta, the full range of publicly available Kirtans from will be fully available to browse and create custom playlists.

If you’re building your own app based on this project, you can of course add your own range of audio files via the Audio Streaming APIs.

New Alpha Versions of Audio Streaming App and APIs

On June 1, 2016 we released version 1.0.0-alpha6 of our audio streaming APIs.

  • Updated indexer to add dpath key for Google Storage bucket. Allows app to download and play selected mp3 files
  • Added new released key

On June 4, 2016 we also released version 0.8.3-alpha of our audio streaming app which now supports iOS 8. This will enable users who have not yet upgraded to iOS 9 to also use our app.

The 0.8 releases support default streaming mode which which is a similar listening experience as you know from radio streaming apps like TuneIn.

As indicated on our roadmap we’re working towards releasing a new major version of the audio streaming app which also supports custom streaming mode. This will allow listeners to stream their custom playlist based on their favorite tracks, albums or artists.

RESTful APIs for our Audio Streaming App

Since March 15, 2016 we’ve released 5 alpha versions of your RESTful APIs for our audio streaming app which also includes an audio meta data indexer.

The audio-streaming-apis repository maintains all the REST APIs used by the mobile app from the audio-streaming-app repository.

The server is build with Node.js using the Restify framework and backended with MongoDB. Node.js is a JavaScript runtime built on Chrome’s V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Restify is a Node.js module to build REST web services. MongoDB is a popular NoSQL database often used with Node.js and has a strong Node.js driver.

The API endpoints provided are completely stand alone. They can be attached to and used to manipulate the database by any client including CURL.

Currently the endpoints service the Ionic audio-streaming-app found on GitHub. The app can be downloaded on the App (currently only through TestFlight) and Play Stores.

Here’s an overview of the release notes.

v1.0.0-alpha.1 (2016-03-15)

Initial alpha release. Endpoints for db collections (ACCOUNTS, PLAYLISTS, MP3S, LOGS).


All endpoints can be executed using CURL see the documentation for instructions.


  • Ratings
  • Facebook integration

v1.0.0-alpha.2 (2016-03-29)


Facebook integration


  • Added dynamic port assignemnt
  • New endpoint GET /mp3s/key/:key
  • Temp patch for invalid artist ID3 tag
  • Jingles indexer and endpoint GET /jingle/random

v1.0.0-alpha.3 (2016-03-30)


  • GET /mp3s/distinctkey/:key
  • GET /mp3s/key/:key?q=
  • All mp3s endpoints work with and without auth, auth required to access restricted MP3s
  • New restricted key for mp3s collection


  • Artist tag in jingles generates error in ID3 parser
  • Some MP3 files have tag ID3 tag issues

v1.0.0-alpha.4 (2016-04-19)


  • POST /mp3s/ids endpoint
  • Added CORS support


  • Artist tag in jingles generates error in ID3 parser, now logged to db.log for intervention
  • Some MP3 files have tag ID3 tag issues
  • Uncaughtexception now logs to db.logs

v1.0.0-alpha.5 (2016-05-14)


  • Added POST /mp3/file/:id endpoint – to directly download MP3 file
  • Added new key for selfLink – this is a virtual link tot he google storage for MP3 playback


  • Artist tag in jingles may generate error in ID3 parser, now logged to db.log for intervention
  • Some MP3 files have tag ID3 tag issues, now logged to db.log for intervention


Audio Streaming Alpha 0.8.2 for iOS

Finally, 3 days ago a working alpha version for iOS was released on the App Store through TestFlight. Version 0.8.2 is now also available through the Android Play Store using an open test release.


  • Lock screen controls
  • Android loading spinner

Please contact for more information if you would like to test the release.

iOS Lock Screen

Icecast 2.4.2 Dockerized

Our Icecast streaming Kirtan server is currently running on Google Compute Engine on a g1-small machine with 1 vCPU and 1.7 GB memory, which is enough to serve 70 simultaneous listeners. On average we have almost 10’000 unique listeners per month. This is of course manually scalable by using bigger machine types, but as the devops community is completely hooked on Docker we also wanted to learn about this new technology.

Docker Hub

This will not only give us more flexibilty with deployment and scalability, but also make onboarding of new developers very light weight, because they can install Icecast and Liquidsoap on their local machines for testing and developing new components, such as our new mobile apps and the RESTful APIs.

The Dockerfile is on GitHub and looks like this.

You could build a new image based on that Dockerfile or you can simply

docker pull kirtan/icecast
docker run -p 8000:8000 kirtan/icecast

Icecast2 Admin

It’s currently not yet possible to pass custom credentials to docker run, but once the Liquidsoap container is ready and both components work together properly, we will work on that, too.

As we’re new to docker we took inspiration from moul’s Icecast Docker file, but as he’s building from the official sources.list, you will end up with Icecast 2.3 instead of the latest 2.4 if you’re using his build.

Ionic Audio Streaming Alpha 0.8.0

We’re very excited to announce the first alpha release of our audio streaming app based on Ionic hybrid mobile app framework. The first release was planned for February 19, but due to David’s and Warren’s focus, we were able to already release it yesterday on February 13, which happened to also be World Radio Day 2016.

This early release shows basic functionality of the player. Further development will be adding more features in the coming weeks. Access to the Android APK file is available on the project’s GitHub release page.

Here’s how it looks like on an HTC One after pressing the play button on the bottom of the page. It will extract the now playing information from the Icecast server and display it. On some devices there’s a pretty long delay before the audio starts playing, but please remember, it’s alpha.

Ionic Audio Streaming Alpha 0.8.0