mirror of
https://github.com/chuot/rdio-scanner.git
synced 2026-08-13 16:33:01 -06:00
133 lines
4.8 KiB
Markdown
133 lines
4.8 KiB
Markdown
# Rdio Scanner from Github
|
|
|
|
Sometimes you don't want to run a Docker image, so you can follow these instructions to clone the [Rdio Scanner GitHub repository](https://github.com/chuot/rdio-scanner).
|
|
|
|
# 1. Prerequisites
|
|
|
|
Make sure your operating system is **fully updated** and that the prerequisites are installed. Also make sure that you have enough memory to compile the Angular web application.
|
|
|
|
* [build-essential](https://packages.ubuntu.com/search?keywords=build-essential) on *Ubuntu* or its equivalent specific to your Linux distribution
|
|
* [curl](https://git-scm.com/downloads)
|
|
* [ffmpeg](https://www.ffmpeg.org/)
|
|
* [git](https://git-scm.com/downloads)
|
|
* [Node.js LTS or higher](https://nodejs.org/en/download/) (get it [here](https://github.com/nodesource/distributions) if your distro doesn't have the required package)
|
|
* [npm](https://www.npmjs.com/get-npm)
|
|
* [SQLite 3](https://www.sqlite.org/download.html)
|
|
|
|
``` bash
|
|
$ which curl ffmpeg gcc g++ git make node npm sqlite3
|
|
/usr/bin/curl
|
|
/usr/bin/ffmpeg
|
|
/usr/bin/gcc
|
|
/usr/bin/g++
|
|
/usr/bin/git
|
|
/usr/bin/make
|
|
/usr/bin/node
|
|
/usr/bin/npm
|
|
/usr/bin/sqlite3
|
|
```
|
|
|
|
# 2. Clone the Rdio Scanner GitHub Repository
|
|
|
|
```bash
|
|
$ git clone https://github.com/chuot/rdio-scanner.git
|
|
Cloning into 'rdio-scanner'...
|
|
remote: Enumerating objects: 1384, done.
|
|
remote: Counting objects: 100% (1384/1384), done.
|
|
remote: Compressing objects: 100% (1284/1284), done.
|
|
remote: Total 1384 (delta 752), reused 112 (delta 24)
|
|
Receiving objects: 100% (1384/1384), 1010.15 KiB | 4.83 MiB/s, done.
|
|
Resolving deltas: 100% (752/752), done.
|
|
```
|
|
|
|
# 3. Database and configuration initialization
|
|
|
|
Note that the first time [Rdio Scanner](https://github.com/chuot/rdio-scanner) will start, it will take longer as it has to install required node modules and build the progressive web application.
|
|
|
|
``` bash
|
|
$ cd rdio-scanner
|
|
|
|
$ node run init
|
|
Installing node modules... done
|
|
Building client app... done
|
|
Configuration and database initialized
|
|
|
|
$ ls -l server/config.json server/database.sqlite
|
|
-rw-r--r--. 1 radio radio 8484 10 jui 10:39 server/config.json
|
|
-rw-r--r--. 1 radio radio 40960 10 jui 10:39 server/database.sqlite
|
|
```
|
|
|
|
If there is a problem, rerun the command with `DEBUG=true` to get more details on the reasons for the failure:
|
|
|
|
```bash
|
|
$ DEBUG=true node run init
|
|
...
|
|
```
|
|
|
|
# 3. Configure Rdio Scanner
|
|
|
|
The `server/config.json` is preloaded with 2 systems, which you probably don't want. They just serve as an example and can be replaced with new ones as desired.
|
|
|
|
> Read the documentation [docs/config.md](./config.md) for an explanation of all configurable parameters.
|
|
|
|
If your [Rdio Scanner](https://github.com/chuot/rdio-scanner) is already running, be sure to restart it every time you make changes to the `server/config.json` file.
|
|
|
|
# 4. Load a system from RadioReference.com (optional)
|
|
|
|
You may want to load your `server/config.json` with some systems from [RadioReference.com](https://radioreference.com/).
|
|
|
|
First download the CSV file for all talkgroups from a trunked system. Here we will use the file `trs_tg_7537.csv` which corresponds to [this system](https://www.radioreference.com/apps/db/?sid=7537).
|
|
|
|
You can choose any `system_id` you want to refer to this system. If you choose an existing `system_id` in `config.json`, you will replace it with the new one.
|
|
|
|
``` bash
|
|
$ node run load-rrdb
|
|
USAGE: load-rrdb <system_id> <input_tg_csv>
|
|
|
|
$ node run load-rrdb 11 ~/Downloads/trs_tg_7537.csv
|
|
File /home/radio/Downloads/trs_tg_7537.csv imported successfully into system 11
|
|
```
|
|
|
|
# 5. Start Rdio Scanner
|
|
|
|
``` bash
|
|
$ node run server
|
|
Server is running at http://0.0.0.0:3000
|
|
```
|
|
|
|
# Generate new UUIDs for your config file (optional)
|
|
|
|
Even if your instance of [Rdio Scanner](https://github.com/chuot/rdio-scanner) is preconfigured with a new random UUID for your API keys, you may want to generate others. The following command will generate a new UUID which you can copy/paste into the `server/config.json` file.
|
|
|
|
``` bash
|
|
$ node run random-uuid
|
|
aaf366c5-fa20-40a7-b617-dc7587c792fd
|
|
|
|
$ node random-uuid 5
|
|
003c391c-610c-4900-b17f-80f6c9af2bbc
|
|
cd32028a-ca81-469c-90d5-8fd1bfb69228
|
|
df2f76b0-be15-44e9-848a-c9a71b092707
|
|
dc50e0d6-c635-436b-bb70-b46d99f12df9
|
|
74b602c0-b4ad-49a0-bb40-00008c31f9b2
|
|
```
|
|
|
|
# Update Rdio Scanner
|
|
|
|
If new commits have been pushed to the [Rdio Scanner GitHub repository](https://github.com/chuot/rdio-scanner), you can easily update like this:
|
|
|
|
``` bash
|
|
$ node update
|
|
Pulling new version from github... done
|
|
Updating node modules... done
|
|
Building client app... done
|
|
Please restart Rdio Scanner
|
|
```
|
|
|
|
# Finally
|
|
|
|
Remember that [Rdio Scanner](https://github.com/chuot/rdio-scanner) must be supplied with audio files from a recorder. Either you use a `dirWatch` to monitor a folder, or you use the API with an `upload script`. See the [examples folder](./examples) for some examples.
|
|
|
|
> Need help? Go to the [Gitter Rdio Scanner Lobby](https://gitter.im/rdio-scanner/Lobby).
|
|
|
|
Happy Rdio scanning !
|