This repository contains the Unraid Community Apps template for openHop Repeater, a browser-managed, MeshCore-compatible LoRa repeater.
The template uses the official images published by the openHop Repeater project:
| Channel | Image | Intended use |
|---|---|---|
main |
openhop/openhop-repeater:main |
Recommended for most users |
dev |
openhop/openhop-repeater:dev |
Newest development updates |
Unraid presents the channel choice when the container is added. main is the default. Both images are built and published from the source in the openHop Repeater repository; this template does not maintain a separate fork or repackaged image.
The image initially seeds the example admin123 and guest123 passwords. Change both immediately.
| Purpose | Container path | Default Unraid path |
|---|---|---|
| Configuration and identity | /etc/openhop_repeater |
/mnt/user/appdata/openhop-repeater/config |
| Databases and runtime state | /var/lib/openhop_repeater |
/mnt/user/appdata/openhop-repeater/data |
| Web UI/API | Port 8000 |
Host port 8000 |
| Companion identity 1 | Port 5001 |
Host port 5001 |
| Companion identity 2 | Port 5002 |
Host port 5002 |
| Companion identity 3 | Port 5003 |
Host port 5003 |
The upstream entrypoint creates config.yaml from the image's bundled example on first start and conservatively merges new defaults on later image updates while preserving configured values.
The template is aimed at the most likely Unraid installations: a TCP modem on the LAN or a USB modem attached to the server.
- bridge networking with explicit TCP mappings for
8000,5001,5002, and5003; - privileged mode disabled by default;
- root container user so newly created Unraid bind-mount directories are writable during first-start configuration;
- the image's repeater-user Python site-packages retained on
PYTHONPATHwhen the runtime user is overridden.
A TCP modem needs no Docker device mapping. For a USB modem, follow the USB device setup guide to add the host serial device—typically /dev/ttyACM0, /dev/ttyACM1, or /dev/ttyUSB0—with the same path inside the container. Then select the USB radio backend and that device path in openHop Repeater. Stable /dev/serial/by-id/... paths are preferable when available.
Native GPIO/SPI is intentionally not enabled by this template. Users who need it can add the exact devices and capabilities manually, but should not enable broad privileges unless their hardware actually requires them.
Warning
Run this container only on a trusted Unraid host. Keep the web UI/API and companion ports on a trusted LAN or VPN, and do not publish them directly to the Internet.
- Install openHop Repeater from Community Apps.
- Confirm ports
8000,5001,5002, and5003are not already used on the Unraid host, or change their host-side mappings. - Start the container once and open
http://UNRAID-IP:8000/. - Use the browser setup flow or edit
/mnt/user/appdata/openhop-repeater/config/config.yaml. - Immediately replace the example admin and guest passwords before allowing other clients to reach the service.
- For a USB modem, add its serial device to the container. TCP modem users can skip this step.
- Review radio type, regional frequency settings, TX power, device path or TCP address, and node identity before connecting or transmitting with radio hardware.
- If companion identities are enabled, configure their listeners for container ports
5001,5002, and5003to match the template mappings.
Update the Docker container normally through Unraid. The selected main or dev tag continues tracking that official image channel. To change channels later, edit the container in Unraid and select the other tag; Docker installs cannot switch image channels from the openHop web interface.