rdio-scanner/docs/docker
2022-09-12 07:54:20 -04:00
..
docker-compose.yml detailed Docker image instructions 2022-08-16 09:57:39 -04:00
README.md Version 6.5.5 2022-09-12 07:54:20 -04:00

Rdio Scanner Docker image

Supported tags and Containerfile link

Rdio Scanner

Rdio Scanner is an open source software that ingest and distribute audio files generated by various software-defined radio recorders. Its interface tries to reproduce the user experience of a real police scanner, while adding its own touch.

You can listen to Rdio Scanner on any modern browsers using the integrated web app.

Rdio Scanner

How to use this image

Before going any further, make sure you have enough knowledge about using Docker. For those new to Docker, I recommend reading at least the Docker Overview.

1. Pull the docker image

Do docker pull chuot/rdio-scanner:latest like this:

$ docker pull chuot/rdio-scanner:latest
latest: Pulling from chuot/rdio-scanner
c6556b3b6858: Pull complete 
d7254f9b5d27: Pull complete 
0658b5542036: Pull complete 
Digest: sha256:f265cb0c94c45b18b847ea3c65c69d1788e0a3eb50870f585db6793c7d96047b
Status: Downloaded newer image for chuot/rdio-scanner:latest
docker.io/chuot/rdio-scanner:latest

2. Start Rdio Scanner

By default, Rdio Scanner runs on port 3000. It is recommended to configure a SSL certificate and then to map port 3000 to port 443 using the --publish 3000:443 option.

We will however stick to port 3000 in this example.

Note that it is important to make sure the data folder already exists on the Docker host the very first time you run the Docker container (~/.rdio-scanner in this example) or it will be created by the Docker daemon with the wrong owner. In other words, the volume you mount on /app/data must be owned by the same user as specified by the --user option.

$ docker run --detach --env TZ=America/Toronto --name rdio-scanner --publish 3000:3000 --restart always --user $(id -u):$(id -g) --volume ~/.rdio-scanner:/app/data chuot/rdio-scanner:latest
520cdbf51fca11d8bacea12d81245f1cb4d984f80d2be2e3039727b59533a6a9

$ docker logs rdio-scanner
Rdio Scanner v6.5.5
----------------------------------
2022/09/12 08:57:23 server started
2022/09/12 08:57:23 base folder is /app/data
2022/09/12 08:57:23 main interface at http://6d87e8dc37a0:3000
2022/09/12 08:57:23 admin interface at http://6d87e8dc37a0:3000/admin

You can also use docker-compose to start the server with this simple docker-compose.yml:

version: "3"

services:
  server: 
    environment: 
      - TZ=America/Toronto
    image: docker.io/chuot/rdio-scanner:latest
    ports:
      - "3000:3000"
    volumes:
      - /home/radio/rdio-scanner:/app/data:z

Then run it with docker-compose:

$ docker-compose -p rdio-scanner run -d --service-ports server
Creating network "rdio-scanner_default" with the default driver
Creating rdio-scanner_server_run ... done
rdio-scanner_server_run_3e00e8f8446f

3. Configure Rdio Scanner

Access the administrative dashboard to finalize the configuration.

Note that the default password is rdio-scanner

admin dashboard login

admin dashboard todos

4. Advanced customizations

To get the whole list of arguments you can pass to Rdio Scanner, simply pass the argument -h.

Remember to always restart you Rdio Scanner if any changes have been applied to the file rdio-scanner.ini with the options -config_save.

$ docker run -it --rm chuot/rdio-scanner -h
Usage of ./rdio-scanner:
    -admin_password string
        change admin password
    -base_dir string
        base directory where all data will be written
    -cmd string
        advanced administrative tasks (use -cmd help for usage)
    -config string
        server config file (default "rdio-scanner.ini")
    -config_save
        save configuration to rdio-scanner.ini
    -db_file string
        sqlite database file (default "rdio-scanner.db")
    -db_host string
        database host ip or hostname (default "localhost")
    -db_name string
        database name
    -db_pass string
        database password
    -db_port uint
        database host port (default 3306)
    -db_type string
        database type, one of sqlite, mariadb, mysql (default "sqlite")
    -db_user string
        database user name
    -listen string
        listening address (default ":3000")
    -service string
        service command, one of start, stop, restart, install, uninstall
    -ssl_auto_cert string
        domain name for Let's Encrypt automatic certificate
    -ssl_cert_file string
        ssl PEM formated certificate
    -ssl_create
        create self-signed certificates
    -ssl_key_file string
        ssl PEM formated key
    -ssl_listen string
        listening address for ssl
    -version
        show application version

5. Update Rdio Scanner

If a newer version of Rdio Scanner Docker Image is released, you can easily update it like this:

$ docker pull chuot/rdio-scanner:latest
...

$ docker stop rdio-scanner
rdio-scanner

$ docker rm rdio-scanner
rdio-scanner

$ docker run ... // see section 2 above

You can also put these commands in a shell script to simplify future updates.

Limitation

Rdio Scanner's dirwatch functionality does not work with its Docker flavor due to technical difficulties in regards to file polling on mounted drives. The feature has been disabled on the Docker image.

Happy Rdio scanning !