Skip to content

Getting Started using Docker

Dr. Ogg edited this page Jul 21, 2023 · 14 revisions

Docker setup

One option to get your receiver up and running quickly is to pick one of the available docker images. They come preloaded with all the requirements and OpenWebRX itself, and if you already have a running docker setup, they should get you started very easily.

I am currently providing specialized images for each of the supported hardware types, and I also have a "full" variant that includes support for all hardwares.

Check out my docker hub page for a list of all the available images.

The docker images are built for both x86_64, armv7l and aarch64 architectures, so you can use these on your desktop, laptop as well as many single board computers, including the Raspberry Pi.

Here is a quick setup guide for Raspberry Pi; to cut to the chase, all you need to do is run curl -sSL https://get.docker.com | sh to get started.

In order to download and run the full image, simply use these commands:

docker volume create openwebrx-settings
docker run --device /dev/bus/usb -p 8073:8073 -v openwebrx-settings:/var/lib/openwebrx jketterl/openwebrx:stable

or you can use docker-compose

version: "3"
services:
  openwebrx:
    image: jketterl/openwebrx:stable
    volumes:
      - ./openwebrx/settings:/var/lib/openwebrx
    ports:
      - 8073:8073
    devices:
      - /dev/bus/usb/002/002:/dev/bus/usb/002/002
    tmpfs:
      - /tmp/openwebrx

If your host is running any kind of flash-based storage (e.g. SSDs or the SD-card of a Raspberry Pi) it is highly recommended to offload the temporary files to memory-based storage. you can do this by adding --tmpfs=/tmp/openwebrx to the docker commandline. Please note that this is not just an example, the path matches the container setup. If you wish to use a different path, you will need to update the container configuration.

This setup allows modification of all settings in the web configuration. If you wish to modify any settings in the configuration files in /etc/openwebrx, please set up an additional volume and mount for /etc/openwebrx.

Known issues

If you run into problems accessing your USB devices inside the docker container (e.g. usb_claim_interface error -6), please make sure to apply any relevant Linux kernel module blacklisting to the docker host. The following kernel modules should be blacklisted:

SDR device kernel module(s)
RTL-SDR dvb_usb_rtl28xxu
SDRplay sdr_msi3101 msi001 msi2500
HackRF hackrf

Please check your distributions documentation on how to perform the actual blacklisting. For Debian users, you should create a file in /etc/modprobe.d/ ending in .conf that contains a single line blacklist $module, where $module is the module from the table above.

Clone this wiki locally