This repository provides a Docker container for the excellent Universal HamRadio Remote HTML5 project by F4HTB.
It includes all dependencies, including Hamlib with Python bindings and SDR support, packaged in a portable container.
Credits:
Full credit for the core project goes to F4HTB and contributors. This Docker setup simply packages it for convenient deployment.
Prebuilt with:
-
Hamlib (from source)
-
pyrtlsdr, pyaudio, pyserial, PAM auth
-
Exposes
/uhrhvolume for persistence and and easy configuration -
Python virtual environment isolation
Run the official convenience script:
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
git clone https://github.com/N1RX/UHRH-Dockerized.git
cd uhrh-dockerfile
sudo docker compose up -d
The UHRR web interface will be available at: https://YOUR-IP:8888
Make sure you access it via HTTPS to ensure proper functionality.
-
/uhrh: Volume mount where the runtime app lives (backed up from GitHub repo at build time) -
Devices:
-
/dev/ttyUSB0: For serial-connected radios. Change it to your tty device -
/dev/snd: For audio passthrough
-
You may need to adjust device mappings or add your user to dialout and audio groups.
If you want to build the image yourself instead of pulling from GHCR:
✏️ Before building, make sure to uncomment the build: . line in your docker-compose.yml:
services:
uhrh:
build: .
# image: ghcr.io/n1rx/uhrh-dockerfile:maindocker compose build
Then start:
docker compose up -d
-
Project by F4HTB: Universal_HamRadio_Remote_HTML5
-
Hamlib team: https://github.com/Hamlib/Hamlib
-
pyrtlsdr, PyAudio, and other contributors to the SDR and audio ecosystem
The image is tested on a Raspberry Pi.
If the container fails to start:
-
Ensure your user has permissions for
/dev/sndand/dev/ttyUSB0 -
Check logs with:
docker logs -f uhrh
- Confirm no other app is already binding to port
8888
Be sure to visit the Official Wiki for more information.
This Docker setup is MIT licensed.
Refer to upstream repositories for their respective licenses.
73 DL3NW