diff --git a/README.md b/README.md index f476edb1bfaec0fe07f0ae26875a3b2bee9ce7dd..979c343caaa8c606325a6c62d39425ef89e30e10 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,11 @@ The Project serves the Engine API and handles state management of multiple [Engi The Engine API stores and provides following information: -- Playlogs: A history of all audio titles being played by the Engine. This is used for example to generate detailed reports for regulartory purposes. -- Track Service: Same as track service, but stripped-down information. Used for implementing a track service feature on the radio's website. -- Active Source: In redundant deployment scenarios the API stores and shares information on which engine instance is currently active. This could be extended to other audio sources. -- Health Information: In case of some critical issue affecting the functionality of AURA Engine, the history of health status records of the respective engine is stored. +- **Playlogs**: A history of all audio titles being played by the Engine. This is used for example to generate detailed reports for regulartory purposes. +- **Track Service**: Same as track service, but stripped-down information. Used for implementing a track service feature on the radio's website. +- **Active Source**: In redundant deployment scenarios the API stores and shares information on which engine instance is currently active. This could be extended to other audio sources. +- **Health Information**: In case of some critical issue affecting the functionality of AURA Engine, the history of health status records of the respective engine is stored. +- **Studio Clock**: Information on the current and next show to be used in a *Studio Clock* application. You can find details on the available API endpoints here: https://app.swaggerhub.com/apis/AURA-Engine/engine-api/1.0.0 @@ -17,6 +18,8 @@ You can find details on the available API endpoints here: https://app.swaggerhub AURA Engine allows single and redundant deployments for high availability scenarios. +Engine can be deployed and run manually, using [Systemd](#running-with-systemd), [Supervisor](#running-with-supervisor) or [Docker](#running-with-docker). + ### Single Deployment This is the most simple case. In that scenario the Engine API is deployed on the same host as the [Engine](https://gitlab.servus.at/aura/engine) itself. @@ -31,7 +34,7 @@ acting as a reverse proxy. In this scenario there are two Engine instances involved. Here you will need to deploy one Engine API on the host of each Engine instance. Additionally you'll have to set up a third, so-called "Syncronization Node" of the Engine API. This sync instance of Engine API is in charge of synchronizing playlogs and managing the active engine state. -<img src="docs/engine-api_redundancy.png" width="800" /> +<img src="docs/engine-api_redundancy.png" /> #### Managing Active Engine State @@ -175,6 +178,15 @@ Then run this from the root directory: ./run.sh api ``` +### Running with Systemd + +**tbd** + +### Running with Supervisor + +Alternatively to Systemd you can start Engine API using [Supervisor](http://supervisord.org/). In `./config/sample/supervisor/aura-engine-api.conf` you can find a example. +Supervisor configuration file. + ### Running with Docker To run the server on a Docker container, please execute the following from the root directory: