Central Alert Repository
CAR, otherwise known as the Central Alert Repository, is a service which syndicates emergency alert information from various sources, such as EAS_NET participant stations.
Installation
Prerequisites
In order to deploy a development instance of CAR, you will need to install a few prerequisite packages and services.
.NET 8.0 SDK
NodeJS and NPM
MariaDB
Additionally, to enable audio transcoding support (converting source WAV files to MP3), you will need to install the following packages:
FFMpeg
libgdiplus(on linux systems only)
Bare-metal Installation
Clone the CAR repository from the GWES GitLab
$ git clone https://gitlab.example/gwes/car.git$ cd ./car/
Restore all projects in the solution
$ dotnet restore
Build all projects in the solution
$ dotnet build -c Debug --no-restore [--self-contained]You can optionally publish the projects into single-file binaries by using
dotnet publishinstead.
Configure the MariaDB database
Create a new database called
carCreate a user in the database called
rootwith a secure password.You must ensure that
roothas superuser permissions in thecardatabase.You must update the environment variables to reflect the set database password.
Spin up the worker host and website
dotnet ./CAR.WorkerHost/bin/Debug/net8.0/(platform)-x64[/publish]/GWES.CAR.WorkerHost.dllThe worker host will be responsible for migrating the database on startup, which is why it needs to be started before the website.
dotnet ./CAR.Website/bin/Debug/net8.0/(platform)-x64[/publish]/GWES.CAR.Website.dll
Navigate to
https://localhost:7220to ensure the website is working correctly.Place an EAS_NET formatted file in the polling directory provided by the worker host to ensure that alert ingest is working correctly.